{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ESMM 简介\n",
    "\n",
    "Entire Space Multi-task Model (ESMM)[1] 是阿里妈妈精准定向广告算法团队研发的新型多任务联合训练算法范式。\n",
    "\n",
    "在诸如信息检索、推荐系统、在线广告投放系统等工业级的应用中准确预估转化率（post-click conversion rate，CVR）是至关重要的。例如，在电商平台的推荐系统中，最大化场景商品交易总额（GMV）是平台的重要目标之一，而GMV可以拆解为流量×点击率×转化率×客单价，可见转化率是优化目标的重要因子；从用户体验的角度来说准确预估的转换率被用来平衡用户的点击偏好与购买偏好。\n",
    "\n",
    "传统的CVR预估任务通常采用类似于CTR预估的技术，比如最近很流行的深度学习模型。然而，有别于CTR预估任务，CVR预估任务面临一些特有的挑战：1) 样本选择偏差；2) 训练数据稀疏；3) 延迟反馈等。\n",
    "\n",
    "ESMM模型利用用户行为序列数据在完整样本空间建模，避免了传统CVR模型经常遭遇的样本选择偏差和训练数据稀疏的问题，取得了显著的效果。另一方面，ESMM模型首次提出了利用学习CTR和CTCVR的辅助任务迂回学习CVR的思路。ESMM模型中的BASE子网络可以替换为任意的学习模型，因此ESMM的框架可以非常容易地和其他学习模型集成，从而吸收其他学习模型的优势，进一步提升学习效果，想象空间巨大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 文档内容说明\n",
    "本文旨在介绍ESMM以及如何使用ESMM开源项目进行实际业务生产所用，阅读完成后，你可以了解到：\n",
    "\n",
    "* ESMM的基本系统组成\n",
    "* ESMM开源代码的运行和使用\n",
    "* 应用ESMM到具体实践的方法\n",
    "\n",
    "受限于篇幅以及主旨，以下内容本文不涉及，或请参阅相关文档：\n",
    "* 公开数据集的下载、使用和授权\n",
    "    * Ali-CCP：Alibaba Click and Conversion Prediction请参阅：[https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408](https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## ESMM 适用的问题\n",
    "\n",
    "\n",
    "<img src=\"assets/impression_click_buy.png\"/>\n",
    "\n",
    "\n",
    "ESMM 充分利用用户行为的序列模式，在 CTR 和 CTCVR 两项辅助任务的帮助下，优雅地解决了在实践中遇到的 CVR 建模 sample selection bias(SSB) 和 data sparsityz(DS) 的挑战。ESMM 可以很容易地推广到具有序列依赖性的用户行为(浏览、点击、加购、购买等)预估中，构建跨域多场景全链路预估模型。\n",
    "\n",
    "\n",
    "\n",
    "<img src=\"assets/system_overview.png\"/>\n",
    "\n",
    "广告或推荐系统中，用户行为的系统链路可以表示为 \\$召回 \\rightarrow  粗排 \\rightarrow 精排 \\rightarrow 展现 \\rightarrow 点击 \\rightarrow 转化 \\rightarrow 复购 \\$ 的序列。通常我们在引擎请求的时候进行多阶段的综合排序并不断选取头部的子集传给下一级，最终在展现阶段返回给用户。每阶段任务的输入量级都会因为上一阶段任务经过系统筛选（比如 召回到粗排、粗排到精排、精排到展现）或者用户主动筛选（比如 展现到点击、点击到转化、转化到复购）而逐步减少。ESMM 适用于成熟的电商推荐或者广告全链路预估系统。我们也希望本文的读者或者使用者如果在ESMM应用的实践中有任何困难，可随时与我们联系：maxiao.mx@alibaba-inc.com"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ESMM 框架介绍\n",
    "\n",
    "## 算法原理\n",
    "\n",
    "ESMM 引入两个预估展现点击率（CTR）和展现后点击转化率（CTCVR）作为辅助任务。ESMM 将 pCVR 作为一个中间变量，并将其乘以 pCTR 得到 pCTCVR，而不是直接基于有偏的点击样本子集进行 CVR 模型训练。pCTCVR 和 pCTR 是在全空间中以所有展现样本估计的，因此衍生的 pCVR 也适用于全空间并且缓解了 {SSB} 问题。此外，CVR 任务的特征表示网络与 CTR 任务共享，后者用更丰富的样本进行训练。这种参数共享遵循特征表示迁移学习范式，并为缓解 {DS}问题提供了显著的帮助。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 全空间建模\n",
    "pCTR和pCTCVR是ESMM在全空间实际预估的变量。这种乘法形式使得三个关联和共同训练的分类器能够在训练期间利用数据的序列模式并相互传递信息。ESMM的损失函数如下，它由 CTR 和 CTCVR 任务中的两个损失项组成，这些任务通过所有展现次数的样本进行计算。\n",
    "\n",
    "\\begin{equation}\n",
    "\\begin{split}\n",
    "L(\\theta*{cvr}, \\theta*{ctr}) = \\sum*{i=1}^N l(y\\_i, f(\\textbf{x}*i;\\theta*{ctr})) + \\sum*{i=1}^N l(y\\_i&z\\_i, f(\\textbf{x}*i;\\theta*{ctr}) \\times f(\\textbf{x}*i;\\theta*{cvr}))\n",
    "\\end{split}\n",
    "\\end{equation}\n",
    "\n",
    "其中 \\$\\theta\\_{ctr}\\$ 和 \\$\\theta\\_{cvr}\\$ 是 CTR 和 CVR 网络的参数，l函数是交叉熵损失函数。\n",
    "在数学上，公式 Eq.（3) 将 \\$y \\rightarrow z\\$ 分解为两部分对应于 CTR 和 CTCVR 任务的标签，构造训练数据集如下：\n",
    "对于CTR任务，单击的展现被标记为\\$y = 1\\$，否则为 \\$y=0\\$；对于 CTCVR 任务，同时发生点击和转化事件的展现被标记为 \\$ y & z = 1 \\$ ，否则 \\$ y & z = 0 \\$，\\$y\\$ 和 \\$ y & z \\$ ，这实际上是利用点击和转化标签的序列依赖性。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "## 迁移学习\n",
    "正如 BASE 模型部分介绍的那样，Embedding Layer 将大规模稀疏输入映射到低维稠密向量中，它占据深度网络的大部分参数，需要大量的样本来进行训练。在 ESMM 中，CVR 网络的 Embedding 参数与 CTR 任务共享。它遵循特征表示转化学习范式。CTR 任务所有展现次数的样本规模比 CVR 任务要丰富多个量级。该参数共享机制使 ESMM 中的 CVR 网络可以从未点击的展现中学习，缓解了数据稀疏性问题。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 结构扩展性\n",
    "\n",
    "它主要由两个子网组成：CVR 网络在图的左边部分和右边部分的 CTR 网络。 CVR 和 CTR 网络都采用与 BASE 模型相同的结构。 CTCVR 将 CVR 和 CTR 网络的输出结果相乘作为输出。其中每个子网络结果可以被替代为任意的分类预估网络。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ESMM 训练示例"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 下载数据集\n",
    "* 公开数据集的下载、使用和授权\n",
    "    * Ali-CCP：Alibaba Click and Conversion Prediction请参阅：[https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408](https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "import numpy as np\n",
    "from collections import Counter\n",
    "import tensorflow as tf\n",
    "\n",
    "import os\n",
    "import pickle\n",
    "import re\n",
    "from tensorflow.python.ops import math_ops"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 先来看看数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 经过Step1&2后，采样2.5%的数据样例，其中训练和测试各是100万条\n",
    "esmm_public/ctr_cvr_data$ ll\n",
    "\n",
    "-rw-r--r--  1 maxiao  staff   95592738 Dec  4 08:56 sampled_common_features_skeleton_test_sample_feature_column.csv\n",
    "\n",
    "-rw-r--r--  1 maxiao  staff   74272695 Dec  4 08:53 sampled_common_features_skeleton_train_sample_feature_column.csv\n",
    "\n",
    "-rw-r--r--  1 maxiao  staff  165569695 Dec  4 08:53 sampled_sample_skeleton_test_sample_feature_column.csv\n",
    "\n",
    "-rw-r--r--  1 maxiao  staff  164016605 Dec  4 08:51 sampled_sample_skeleton_train_sample_feature_column.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 样本骨架 数据结构\n",
    "<img src=\"assets/sample_skeleton.jpg\"/>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 370,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample_id</th>\n",
       "      <th>click</th>\n",
       "      <th>buy</th>\n",
       "      <th>md5</th>\n",
       "      <th>feature_num</th>\n",
       "      <th>ItemID</th>\n",
       "      <th>CategoryID</th>\n",
       "      <th>ShopID</th>\n",
       "      <th>NodeID</th>\n",
       "      <th>BrandID</th>\n",
       "      <th>Com_CateID</th>\n",
       "      <th>Com_ShopID</th>\n",
       "      <th>Com_BrandID</th>\n",
       "      <th>Com_NodeID</th>\n",
       "      <th>PID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>878</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>a681959a0bd18d82</td>\n",
       "      <td>12</td>\n",
       "      <td>6128381</td>\n",
       "      <td>8317003</td>\n",
       "      <td>8957009</td>\n",
       "      <td>9026108|9026375|9026561|9021991|9105545|9079797</td>\n",
       "      <td>9146921</td>\n",
       "      <td>9355233</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>879</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ad4a730ad1e87cfc</td>\n",
       "      <td>10</td>\n",
       "      <td>7532849</td>\n",
       "      <td>8321715</td>\n",
       "      <td>8814562</td>\n",
       "      <td>9041189|9025525|9094410|9047968|9036532</td>\n",
       "      <td>9288662</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2374</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>11</td>\n",
       "      <td>4440730</td>\n",
       "      <td>8317005</td>\n",
       "      <td>8355499</td>\n",
       "      <td>9024009|9072713|9082074|9098713|9089235|906581...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2375</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>19</td>\n",
       "      <td>4772281</td>\n",
       "      <td>8315276</td>\n",
       "      <td>8656754</td>\n",
       "      <td>9060918|9111108|9105928|9098403|9086972|906899...</td>\n",
       "      <td>9201202</td>\n",
       "      <td>9353608</td>\n",
       "      <td>9588597</td>\n",
       "      <td>9893093</td>\n",
       "      <td>10081398|10074512|10086141</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2376</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>12</td>\n",
       "      <td>4880913</td>\n",
       "      <td>8316591</td>\n",
       "      <td>8497873</td>\n",
       "      <td>9099999|9042493|9034247|9064308|9080207|9103372</td>\n",
       "      <td>9296445</td>\n",
       "      <td>9354838</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sample_id  click  buy               md5  feature_num   ItemID CategoryID  \\\n",
       "0        878      0    0  a681959a0bd18d82           12  6128381    8317003   \n",
       "1        879      0    0  ad4a730ad1e87cfc           10  7532849    8321715   \n",
       "2       2374      0    0  d371762a36897554           11  4440730    8317005   \n",
       "3       2375      0    0  d371762a36897554           19  4772281    8315276   \n",
       "4       2376      0    0  d371762a36897554           12  4880913    8316591   \n",
       "\n",
       "    ShopID                                             NodeID  BrandID  \\\n",
       "0  8957009    9026108|9026375|9026561|9021991|9105545|9079797  9146921   \n",
       "1  8814562            9041189|9025525|9094410|9047968|9036532  9288662   \n",
       "2  8355499  9024009|9072713|9082074|9098713|9089235|906581...    <PAD>   \n",
       "3  8656754  9060918|9111108|9105928|9098403|9086972|906899...  9201202   \n",
       "4  8497873    9099999|9042493|9034247|9064308|9080207|9103372  9296445   \n",
       "\n",
       "  Com_CateID Com_ShopID Com_BrandID                  Com_NodeID      PID  \n",
       "0    9355233      <PAD>       <PAD>                       <PAD>  9351666  \n",
       "1      <PAD>      <PAD>       <PAD>                       <PAD>  9351666  \n",
       "2      <PAD>      <PAD>       <PAD>                       <PAD>  9351666  \n",
       "3    9353608    9588597     9893093  10081398|10074512|10086141  9351666  \n",
       "4    9354838      <PAD>       <PAD>                       <PAD>  9351666  "
      ]
     },
     "execution_count": 370,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_feature_columns = ['sample_id', 'click', 'buy', 'md5', 'feature_num', 'ItemID','CategoryID','ShopID','NodeID','BrandID','Com_CateID',\n",
    "                     'Com_ShopID','Com_BrandID','Com_NodeID','PID']\n",
    "train_sample_table = pd.read_table('./ctr_cvr_data/sampled_sample_skeleton_train_sample_feature_column.csv', sep=',',\\\n",
    "                                  dtype={'ItemID': object, 'CategoryID': object, 'ShopID': object, 'PID': object},\\\n",
    "                                  header=0, names=None, engine = 'python')\n",
    "train_sample_table.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 371,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample_id</th>\n",
       "      <th>click</th>\n",
       "      <th>buy</th>\n",
       "      <th>md5</th>\n",
       "      <th>feature_num</th>\n",
       "      <th>ItemID</th>\n",
       "      <th>CategoryID</th>\n",
       "      <th>ShopID</th>\n",
       "      <th>NodeID</th>\n",
       "      <th>BrandID</th>\n",
       "      <th>Com_CateID</th>\n",
       "      <th>Com_ShopID</th>\n",
       "      <th>Com_BrandID</th>\n",
       "      <th>Com_NodeID</th>\n",
       "      <th>PID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>463</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8f0605b3804f592d</td>\n",
       "      <td>8</td>\n",
       "      <td>5718275</td>\n",
       "      <td>8322015</td>\n",
       "      <td>8384195</td>\n",
       "      <td>9103736|9019377|9019012</td>\n",
       "      <td>9224960</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>464</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8f0605b3804f592d</td>\n",
       "      <td>11</td>\n",
       "      <td>5931116</td>\n",
       "      <td>8317887</td>\n",
       "      <td>8441566</td>\n",
       "      <td>9107493|9096626|9104677</td>\n",
       "      <td>9154048</td>\n",
       "      <td>9356068</td>\n",
       "      <td>9441737</td>\n",
       "      <td>9859087</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>465</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8f0605b3804f592d</td>\n",
       "      <td>9</td>\n",
       "      <td>6198514</td>\n",
       "      <td>8316344</td>\n",
       "      <td>8854525</td>\n",
       "      <td>9035170|9090274|9081073</td>\n",
       "      <td>9261623</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9935956</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>466</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8f0605b3804f592d</td>\n",
       "      <td>12</td>\n",
       "      <td>6819554</td>\n",
       "      <td>8314461</td>\n",
       "      <td>8860213</td>\n",
       "      <td>9095560|9074254|9059987|9039410|9039538|9094582</td>\n",
       "      <td>9234112</td>\n",
       "      <td>9352913</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>467</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8f0605b3804f592d</td>\n",
       "      <td>12</td>\n",
       "      <td>7853061</td>\n",
       "      <td>8315276</td>\n",
       "      <td>8396884</td>\n",
       "      <td>9068992|9082307|9060918|9036525|9040921</td>\n",
       "      <td>9343427</td>\n",
       "      <td>9353608</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>10017758</td>\n",
       "      <td>9351665</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sample_id  click  buy               md5  feature_num   ItemID CategoryID  \\\n",
       "0        463      0    0  8f0605b3804f592d            8  5718275    8322015   \n",
       "1        464      0    0  8f0605b3804f592d           11  5931116    8317887   \n",
       "2        465      0    0  8f0605b3804f592d            9  6198514    8316344   \n",
       "3        466      0    0  8f0605b3804f592d           12  6819554    8314461   \n",
       "4        467      0    0  8f0605b3804f592d           12  7853061    8315276   \n",
       "\n",
       "    ShopID                                           NodeID  BrandID  \\\n",
       "0  8384195                          9103736|9019377|9019012  9224960   \n",
       "1  8441566                          9107493|9096626|9104677  9154048   \n",
       "2  8854525                          9035170|9090274|9081073  9261623   \n",
       "3  8860213  9095560|9074254|9059987|9039410|9039538|9094582  9234112   \n",
       "4  8396884          9068992|9082307|9060918|9036525|9040921  9343427   \n",
       "\n",
       "  Com_CateID Com_ShopID Com_BrandID Com_NodeID      PID  \n",
       "0      <PAD>      <PAD>       <PAD>      <PAD>  9351665  \n",
       "1    9356068    9441737     9859087      <PAD>  9351665  \n",
       "2      <PAD>      <PAD>     9935956      <PAD>  9351665  \n",
       "3    9352913      <PAD>       <PAD>      <PAD>  9351665  \n",
       "4    9353608      <PAD>       <PAD>   10017758  9351665  "
      ]
     },
     "execution_count": 371,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_feature_columns = ['sample_id', 'click', 'buy', 'md5', 'feature_num', 'ItemID','CategoryID','ShopID','NodeID','BrandID','Com_CateID',\n",
    "                     'Com_ShopID','Com_BrandID','Com_NodeID','PID']\n",
    "test_sample_table = pd.read_table('./ctr_cvr_data/sampled_sample_skeleton_test_sample_feature_column.csv', sep=',', \\\n",
    "                                  dtype={'ItemID': object, 'CategoryID': object, 'ShopID': object, 'PID': object},\\\n",
    "                                  header=0, names=None, engine = 'python')\n",
    "test_sample_table.head()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Common Feature 数据结构\n",
    "<img src=\"assets/common_feature.jpg\"/>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 372,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>md5</th>\n",
       "      <th>feature_num</th>\n",
       "      <th>UserID</th>\n",
       "      <th>User_CateIDs</th>\n",
       "      <th>User_ShopIDs</th>\n",
       "      <th>User_BrandIDs</th>\n",
       "      <th>User_NodeIDs</th>\n",
       "      <th>User_Cluster</th>\n",
       "      <th>User_ClusterID</th>\n",
       "      <th>User_Gender</th>\n",
       "      <th>User_Age</th>\n",
       "      <th>User_Level1</th>\n",
       "      <th>User_Level2</th>\n",
       "      <th>User_Occupation</th>\n",
       "      <th>User_Geo</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>000de44bdf8eafce</td>\n",
       "      <td>358</td>\n",
       "      <td>155786</td>\n",
       "      <td>449177|451423|451112|450954|450857|450300|4490...</td>\n",
       "      <td>2103269|2392465|500912|3084142|1813625|1448278...</td>\n",
       "      <td>3752845|3683370|3822530|3823174|3740052|364094...</td>\n",
       "      <td>3928560|3957951|3935830|3873899|3877677|387255...</td>\n",
       "      <td>3438670</td>\n",
       "      <td>3438756</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438771</td>\n",
       "      <td>3438777</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>3864888</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00151de5c10804f7</td>\n",
       "      <td>393</td>\n",
       "      <td>259178</td>\n",
       "      <td>452609|450954|450877|450646|450276|449178|4455...</td>\n",
       "      <td>1883384|1106589|1117945|487236|3370915|912489|...</td>\n",
       "      <td>3703690|3448378|3850235|3826176|3522807|384601...</td>\n",
       "      <td>3905398|3877938|3899234|3955084|3868619|396290...</td>\n",
       "      <td>3438671</td>\n",
       "      <td>3438761</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438773</td>\n",
       "      <td>3438778</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>3864890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>00379ec5dc013ef4</td>\n",
       "      <td>463</td>\n",
       "      <td>264767</td>\n",
       "      <td>451119|451412|453475|450877|450954|449079|4506...</td>\n",
       "      <td>1071481|1888540|1765882|2045737|959009|2661810...</td>\n",
       "      <td>3616208|3689812|3817633|3644332|3493916|358508...</td>\n",
       "      <td>3881427|3930932|3900579|3876596|3874740|395705...</td>\n",
       "      <td>3438658</td>\n",
       "      <td>3438763</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438775</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>004106b46154c7bb</td>\n",
       "      <td>379</td>\n",
       "      <td>2051</td>\n",
       "      <td>455951|455948|449102|454958|451902|449605|4506...</td>\n",
       "      <td>3355295|654530|1986830|701231|2504340|826195|1...</td>\n",
       "      <td>3632473|3559641|3815718|3453927|3715463|354778...</td>\n",
       "      <td>3873360|3866031|3950588|3893663|3879636|390693...</td>\n",
       "      <td>3438671</td>\n",
       "      <td>3438761</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438773</td>\n",
       "      <td>3438778</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>3864890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0055bbf572c01604</td>\n",
       "      <td>15</td>\n",
       "      <td>288653</td>\n",
       "      <td>453261</td>\n",
       "      <td>470340|2003924</td>\n",
       "      <td>3544558</td>\n",
       "      <td>3885205|3933402|3957077|3876097</td>\n",
       "      <td>3438658</td>\n",
       "      <td>3438758</td>\n",
       "      <td>3438768</td>\n",
       "      <td>3438775</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                md5  feature_num  UserID  \\\n",
       "0  000de44bdf8eafce          358  155786   \n",
       "1  00151de5c10804f7          393  259178   \n",
       "2  00379ec5dc013ef4          463  264767   \n",
       "3  004106b46154c7bb          379    2051   \n",
       "4  0055bbf572c01604           15  288653   \n",
       "\n",
       "                                        User_CateIDs  \\\n",
       "0  449177|451423|451112|450954|450857|450300|4490...   \n",
       "1  452609|450954|450877|450646|450276|449178|4455...   \n",
       "2  451119|451412|453475|450877|450954|449079|4506...   \n",
       "3  455951|455948|449102|454958|451902|449605|4506...   \n",
       "4                                             453261   \n",
       "\n",
       "                                        User_ShopIDs  \\\n",
       "0  2103269|2392465|500912|3084142|1813625|1448278...   \n",
       "1  1883384|1106589|1117945|487236|3370915|912489|...   \n",
       "2  1071481|1888540|1765882|2045737|959009|2661810...   \n",
       "3  3355295|654530|1986830|701231|2504340|826195|1...   \n",
       "4                                     470340|2003924   \n",
       "\n",
       "                                       User_BrandIDs  \\\n",
       "0  3752845|3683370|3822530|3823174|3740052|364094...   \n",
       "1  3703690|3448378|3850235|3826176|3522807|384601...   \n",
       "2  3616208|3689812|3817633|3644332|3493916|358508...   \n",
       "3  3632473|3559641|3815718|3453927|3715463|354778...   \n",
       "4                                            3544558   \n",
       "\n",
       "                                        User_NodeIDs User_Cluster  \\\n",
       "0  3928560|3957951|3935830|3873899|3877677|387255...      3438670   \n",
       "1  3905398|3877938|3899234|3955084|3868619|396290...      3438671   \n",
       "2  3881427|3930932|3900579|3876596|3874740|395705...      3438658   \n",
       "3  3873360|3866031|3950588|3893663|3879636|390693...      3438671   \n",
       "4                    3885205|3933402|3957077|3876097      3438658   \n",
       "\n",
       "  User_ClusterID User_Gender User_Age User_Level1 User_Level2 User_Occupation  \\\n",
       "0        3438756     3438769  3438771     3438777     3438782         3864885   \n",
       "1        3438761     3438769  3438773     3438778     3438782         3864885   \n",
       "2        3438763     3438769  3438775       <PAD>     3438782         3864885   \n",
       "3        3438761     3438769  3438773     3438778     3438782         3864885   \n",
       "4        3438758     3438768  3438775       <PAD>     3438782         3864885   \n",
       "\n",
       "  User_Geo  \n",
       "0  3864888  \n",
       "1  3864890  \n",
       "2    <PAD>  \n",
       "3  3864890  \n",
       "4    <PAD>  "
      ]
     },
     "execution_count": 372,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "common_feature_columns = ['md5', 'feature_num', 'UserID', 'User_CateIDs', 'User_ShopIDs', 'User_BrandIDs', 'User_NodeIDs', 'User_Cluster', \n",
    "                     'User_ClusterID', 'User_Gender', 'User_Age', 'User_Level1', 'User_Level2', \n",
    "                     'User_Occupation', 'User_Geo']\n",
    "train_common_features = pd.read_table('./ctr_cvr_data/sampled_common_features_skeleton_train_sample_feature_column.csv', sep=',', header=0, names=None, engine = 'python')\n",
    "train_common_features.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 373,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>md5</th>\n",
       "      <th>feature_num</th>\n",
       "      <th>UserID</th>\n",
       "      <th>User_CateIDs</th>\n",
       "      <th>User_ShopIDs</th>\n",
       "      <th>User_BrandIDs</th>\n",
       "      <th>User_NodeIDs</th>\n",
       "      <th>User_Cluster</th>\n",
       "      <th>User_ClusterID</th>\n",
       "      <th>User_Gender</th>\n",
       "      <th>User_Age</th>\n",
       "      <th>User_Level1</th>\n",
       "      <th>User_Level2</th>\n",
       "      <th>User_Occupation</th>\n",
       "      <th>User_Geo</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0047202734bb5eb5</td>\n",
       "      <td>842</td>\n",
       "      <td>185693</td>\n",
       "      <td>451537|447553|446478|451090|445995|449068|4489...</td>\n",
       "      <td>1894620|581643|878737|2838750|2019095|2587994|...</td>\n",
       "      <td>3525959|3775293|3443033|3594493|3517595|347294...</td>\n",
       "      <td>3951816|3910026|3910827|3866459|3906264|390012...</td>\n",
       "      <td>3438703</td>\n",
       "      <td>3438760</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438772</td>\n",
       "      <td>3438777</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864886</td>\n",
       "      <td>3864889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00ad8d58b36b4ce5</td>\n",
       "      <td>519</td>\n",
       "      <td>164993</td>\n",
       "      <td>445700|455453|449395|456242|451607|450658|4509...</td>\n",
       "      <td>1668327|1591757|1916686|833600|2443535|629722|...</td>\n",
       "      <td>3784182|3539847|3517908|3523928|3821093|351849...</td>\n",
       "      <td>3887949|3905994|3952585|3951820|3915468|386601...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>010823ee12e2913d</td>\n",
       "      <td>256</td>\n",
       "      <td>179672</td>\n",
       "      <td>449091|450081|455190|455676|452529|455621|4516...</td>\n",
       "      <td>1738117|851724|737331|2782512|2328478|1353825|...</td>\n",
       "      <td>3609016|3452393|3547898|3641085|3625299|376768...</td>\n",
       "      <td>3887775|3941785|3939207|3905060|3962785|391511...</td>\n",
       "      <td>3438658</td>\n",
       "      <td>3438757</td>\n",
       "      <td>3438768</td>\n",
       "      <td>3438774</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>3438781</td>\n",
       "      <td>3864885</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>02768a32da3016c4</td>\n",
       "      <td>81</td>\n",
       "      <td>358646</td>\n",
       "      <td>445520|445659|449909|451494|455412|451828</td>\n",
       "      <td>2321191|2679520|727845|2013241|870899|1897099|...</td>\n",
       "      <td>3632536|3467359|3633510|3460178|3620843|375664...</td>\n",
       "      <td>3876971|3946291|3903989|3938196|3917240|392445...</td>\n",
       "      <td>3438658</td>\n",
       "      <td>3438758</td>\n",
       "      <td>3438768</td>\n",
       "      <td>3438775</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>034fca2f8f1fc5ed</td>\n",
       "      <td>1311</td>\n",
       "      <td>318785</td>\n",
       "      <td>451904|451268|451311|453686|450954|446706|4507...</td>\n",
       "      <td>2911942|666537|1122991|1062834|687227|1331222|...</td>\n",
       "      <td>3464186|3578547|3744546|3529980|3708505|361256...</td>\n",
       "      <td>3880087|3880357|3899501|3902042|3921818|391924...</td>\n",
       "      <td>3438658</td>\n",
       "      <td>3438762</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438774</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                md5  feature_num  UserID  \\\n",
       "0  0047202734bb5eb5          842  185693   \n",
       "1  00ad8d58b36b4ce5          519  164993   \n",
       "2  010823ee12e2913d          256  179672   \n",
       "3  02768a32da3016c4           81  358646   \n",
       "4  034fca2f8f1fc5ed         1311  318785   \n",
       "\n",
       "                                        User_CateIDs  \\\n",
       "0  451537|447553|446478|451090|445995|449068|4489...   \n",
       "1  445700|455453|449395|456242|451607|450658|4509...   \n",
       "2  449091|450081|455190|455676|452529|455621|4516...   \n",
       "3          445520|445659|449909|451494|455412|451828   \n",
       "4  451904|451268|451311|453686|450954|446706|4507...   \n",
       "\n",
       "                                        User_ShopIDs  \\\n",
       "0  1894620|581643|878737|2838750|2019095|2587994|...   \n",
       "1  1668327|1591757|1916686|833600|2443535|629722|...   \n",
       "2  1738117|851724|737331|2782512|2328478|1353825|...   \n",
       "3  2321191|2679520|727845|2013241|870899|1897099|...   \n",
       "4  2911942|666537|1122991|1062834|687227|1331222|...   \n",
       "\n",
       "                                       User_BrandIDs  \\\n",
       "0  3525959|3775293|3443033|3594493|3517595|347294...   \n",
       "1  3784182|3539847|3517908|3523928|3821093|351849...   \n",
       "2  3609016|3452393|3547898|3641085|3625299|376768...   \n",
       "3  3632536|3467359|3633510|3460178|3620843|375664...   \n",
       "4  3464186|3578547|3744546|3529980|3708505|361256...   \n",
       "\n",
       "                                        User_NodeIDs User_Cluster  \\\n",
       "0  3951816|3910026|3910827|3866459|3906264|390012...      3438703   \n",
       "1  3887949|3905994|3952585|3951820|3915468|386601...        <PAD>   \n",
       "2  3887775|3941785|3939207|3905060|3962785|391511...      3438658   \n",
       "3  3876971|3946291|3903989|3938196|3917240|392445...      3438658   \n",
       "4  3880087|3880357|3899501|3902042|3921818|391924...      3438658   \n",
       "\n",
       "  User_ClusterID User_Gender User_Age User_Level1 User_Level2 User_Occupation  \\\n",
       "0        3438760     3438769  3438772     3438777     3438782         3864886   \n",
       "1          <PAD>       <PAD>    <PAD>       <PAD>       <PAD>           <PAD>   \n",
       "2        3438757     3438768  3438774       <PAD>     3438781         3864885   \n",
       "3        3438758     3438768  3438775       <PAD>     3438782         3864885   \n",
       "4        3438762     3438769  3438774       <PAD>     3438782         3864885   \n",
       "\n",
       "  User_Geo  \n",
       "0  3864889  \n",
       "1    <PAD>  \n",
       "2    <PAD>  \n",
       "3    <PAD>  \n",
       "4    <PAD>  "
      ]
     },
     "execution_count": 373,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "common_feature_columns = ['md5', 'feature_num', 'UserID', 'User_CateIDs', 'User_ShopIDs', 'User_BrandIDs', 'User_NodeIDs', 'User_Cluster', \n",
    "                     'User_ClusterID', 'User_Gender', 'User_Age', 'User_Level1', 'User_Level2', \n",
    "                     'User_Occupation', 'User_Geo']\n",
    "test_common_features = pd.read_table('./ctr_cvr_data/sampled_common_features_skeleton_test_sample_feature_column.csv', sep=',', header=0, names=None, engine = 'python')\n",
    "test_common_features.head()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 两表join示例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 374,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1043828, 15)\n",
      "(18158, 15)\n",
      "(1057288, 15)\n",
      "(21866, 15)\n",
      "(1043828, 29)\n",
      "Index(['sample_id', 'click', 'buy', 'md5', 'feature_num_x', 'ItemID',\n",
      "       'CategoryID', 'ShopID', 'NodeID', 'BrandID', 'Com_CateID', 'Com_ShopID',\n",
      "       'Com_BrandID', 'Com_NodeID', 'PID', 'feature_num_y', 'UserID',\n",
      "       'User_CateIDs', 'User_ShopIDs', 'User_BrandIDs', 'User_NodeIDs',\n",
      "       'User_Cluster', 'User_ClusterID', 'User_Gender', 'User_Age',\n",
      "       'User_Level1', 'User_Level2', 'User_Occupation', 'User_Geo'],\n",
      "      dtype='object')\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample_id</th>\n",
       "      <th>click</th>\n",
       "      <th>buy</th>\n",
       "      <th>md5</th>\n",
       "      <th>feature_num_x</th>\n",
       "      <th>ItemID</th>\n",
       "      <th>CategoryID</th>\n",
       "      <th>ShopID</th>\n",
       "      <th>NodeID</th>\n",
       "      <th>BrandID</th>\n",
       "      <th>...</th>\n",
       "      <th>User_BrandIDs</th>\n",
       "      <th>User_NodeIDs</th>\n",
       "      <th>User_Cluster</th>\n",
       "      <th>User_ClusterID</th>\n",
       "      <th>User_Gender</th>\n",
       "      <th>User_Age</th>\n",
       "      <th>User_Level1</th>\n",
       "      <th>User_Level2</th>\n",
       "      <th>User_Occupation</th>\n",
       "      <th>User_Geo</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>878</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>a681959a0bd18d82</td>\n",
       "      <td>12</td>\n",
       "      <td>6128381</td>\n",
       "      <td>8317003</td>\n",
       "      <td>8957009</td>\n",
       "      <td>9026108|9026375|9026561|9021991|9105545|9079797</td>\n",
       "      <td>9146921</td>\n",
       "      <td>...</td>\n",
       "      <td>3557055|3505652|3553212|3708001|3599096|366714...</td>\n",
       "      <td>3957588|3883527|3922711|3875943|3872065|395986...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>879</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ad4a730ad1e87cfc</td>\n",
       "      <td>10</td>\n",
       "      <td>7532849</td>\n",
       "      <td>8321715</td>\n",
       "      <td>8814562</td>\n",
       "      <td>9041189|9025525|9094410|9047968|9036532</td>\n",
       "      <td>9288662</td>\n",
       "      <td>...</td>\n",
       "      <td>3846533|3783869|3581295|3767223|3536221|351582...</td>\n",
       "      <td>3929765|3902049|3952244|3872963|3958213|393686...</td>\n",
       "      <td>3438686</td>\n",
       "      <td>3438762</td>\n",
       "      <td>3438769</td>\n",
       "      <td>3438774</td>\n",
       "      <td>3438778</td>\n",
       "      <td>3438782</td>\n",
       "      <td>3864885</td>\n",
       "      <td>3864889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2374</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>11</td>\n",
       "      <td>4440730</td>\n",
       "      <td>8317005</td>\n",
       "      <td>8355499</td>\n",
       "      <td>9024009|9072713|9082074|9098713|9089235|906581...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>...</td>\n",
       "      <td>3505458|3565042|3633395|3566190|3766279|364953...</td>\n",
       "      <td>3933864|3957053|3905530|3934567|3933093|387631...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2375</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>19</td>\n",
       "      <td>4772281</td>\n",
       "      <td>8315276</td>\n",
       "      <td>8656754</td>\n",
       "      <td>9060918|9111108|9105928|9098403|9086972|906899...</td>\n",
       "      <td>9201202</td>\n",
       "      <td>...</td>\n",
       "      <td>3505458|3565042|3633395|3566190|3766279|364953...</td>\n",
       "      <td>3933864|3957053|3905530|3934567|3933093|387631...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2376</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>12</td>\n",
       "      <td>4880913</td>\n",
       "      <td>8316591</td>\n",
       "      <td>8497873</td>\n",
       "      <td>9099999|9042493|9034247|9064308|9080207|9103372</td>\n",
       "      <td>9296445</td>\n",
       "      <td>...</td>\n",
       "      <td>3505458|3565042|3633395|3566190|3766279|364953...</td>\n",
       "      <td>3933864|3957053|3905530|3934567|3933093|387631...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   sample_id  click  buy               md5  feature_num_x   ItemID CategoryID  \\\n",
       "0        878      0    0  a681959a0bd18d82             12  6128381    8317003   \n",
       "1        879      0    0  ad4a730ad1e87cfc             10  7532849    8321715   \n",
       "2       2374      0    0  d371762a36897554             11  4440730    8317005   \n",
       "3       2375      0    0  d371762a36897554             19  4772281    8315276   \n",
       "4       2376      0    0  d371762a36897554             12  4880913    8316591   \n",
       "\n",
       "    ShopID                                             NodeID  BrandID  \\\n",
       "0  8957009    9026108|9026375|9026561|9021991|9105545|9079797  9146921   \n",
       "1  8814562            9041189|9025525|9094410|9047968|9036532  9288662   \n",
       "2  8355499  9024009|9072713|9082074|9098713|9089235|906581...    <PAD>   \n",
       "3  8656754  9060918|9111108|9105928|9098403|9086972|906899...  9201202   \n",
       "4  8497873    9099999|9042493|9034247|9064308|9080207|9103372  9296445   \n",
       "\n",
       "    ...                                         User_BrandIDs  \\\n",
       "0   ...     3557055|3505652|3553212|3708001|3599096|366714...   \n",
       "1   ...     3846533|3783869|3581295|3767223|3536221|351582...   \n",
       "2   ...     3505458|3565042|3633395|3566190|3766279|364953...   \n",
       "3   ...     3505458|3565042|3633395|3566190|3766279|364953...   \n",
       "4   ...     3505458|3565042|3633395|3566190|3766279|364953...   \n",
       "\n",
       "                                        User_NodeIDs User_Cluster  \\\n",
       "0  3957588|3883527|3922711|3875943|3872065|395986...        <PAD>   \n",
       "1  3929765|3902049|3952244|3872963|3958213|393686...      3438686   \n",
       "2  3933864|3957053|3905530|3934567|3933093|387631...        <PAD>   \n",
       "3  3933864|3957053|3905530|3934567|3933093|387631...        <PAD>   \n",
       "4  3933864|3957053|3905530|3934567|3933093|387631...        <PAD>   \n",
       "\n",
       "  User_ClusterID User_Gender  User_Age  User_Level1 User_Level2  \\\n",
       "0          <PAD>       <PAD>     <PAD>        <PAD>       <PAD>   \n",
       "1        3438762     3438769   3438774      3438778     3438782   \n",
       "2          <PAD>       <PAD>     <PAD>        <PAD>       <PAD>   \n",
       "3          <PAD>       <PAD>     <PAD>        <PAD>       <PAD>   \n",
       "4          <PAD>       <PAD>     <PAD>        <PAD>       <PAD>   \n",
       "\n",
       "  User_Occupation User_Geo  \n",
       "0           <PAD>    <PAD>  \n",
       "1         3864885  3864889  \n",
       "2           <PAD>    <PAD>  \n",
       "3           <PAD>    <PAD>  \n",
       "4           <PAD>    <PAD>  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 374,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(train_sample_table.shape)\n",
    "print(train_common_features.shape)\n",
    "\n",
    "print(test_sample_table.shape)\n",
    "print(test_common_features.shape)\n",
    "\n",
    "merge_data = pd.merge(train_sample_table, train_common_features, on='md5',how='inner')\n",
    "\n",
    "print(merge_data.shape)\n",
    "print(merge_data.columns)\n",
    "merge_data.head()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 实现数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 375,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample_id</th>\n",
       "      <th>click</th>\n",
       "      <th>buy</th>\n",
       "      <th>md5</th>\n",
       "      <th>feature_num</th>\n",
       "      <th>ItemID</th>\n",
       "      <th>CategoryID</th>\n",
       "      <th>ShopID</th>\n",
       "      <th>NodeID</th>\n",
       "      <th>BrandID</th>\n",
       "      <th>Com_CateID</th>\n",
       "      <th>Com_ShopID</th>\n",
       "      <th>Com_BrandID</th>\n",
       "      <th>Com_NodeID</th>\n",
       "      <th>PID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>878</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>a681959a0bd18d82</td>\n",
       "      <td>12</td>\n",
       "      <td>6128381</td>\n",
       "      <td>8317003</td>\n",
       "      <td>8957009</td>\n",
       "      <td>9026108|9026375|9026561|9021991|9105545|9079797</td>\n",
       "      <td>9146921</td>\n",
       "      <td>9355233</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>879</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ad4a730ad1e87cfc</td>\n",
       "      <td>10</td>\n",
       "      <td>7532849</td>\n",
       "      <td>8321715</td>\n",
       "      <td>8814562</td>\n",
       "      <td>9041189|9025525|9094410|9047968|9036532</td>\n",
       "      <td>9288662</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2374</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>11</td>\n",
       "      <td>4440730</td>\n",
       "      <td>8317005</td>\n",
       "      <td>8355499</td>\n",
       "      <td>9024009|9072713|9082074|9098713|9089235|906581...</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2375</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>19</td>\n",
       "      <td>4772281</td>\n",
       "      <td>8315276</td>\n",
       "      <td>8656754</td>\n",
       "      <td>9060918|9111108|9105928|9098403|9086972|906899...</td>\n",
       "      <td>9201202</td>\n",
       "      <td>9353608</td>\n",
       "      <td>9588597</td>\n",
       "      <td>9893093</td>\n",
       "      <td>10081398|10074512|10086141</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2376</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>d371762a36897554</td>\n",
       "      <td>12</td>\n",
       "      <td>4880913</td>\n",
       "      <td>8316591</td>\n",
       "      <td>8497873</td>\n",
       "      <td>9099999|9042493|9034247|9064308|9080207|9103372</td>\n",
       "      <td>9296445</td>\n",
       "      <td>9354838</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>&lt;PAD&gt;</td>\n",
       "      <td>9351666</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sample_id  click  buy               md5  feature_num   ItemID CategoryID  \\\n",
       "0        878      0    0  a681959a0bd18d82           12  6128381    8317003   \n",
       "1        879      0    0  ad4a730ad1e87cfc           10  7532849    8321715   \n",
       "2       2374      0    0  d371762a36897554           11  4440730    8317005   \n",
       "3       2375      0    0  d371762a36897554           19  4772281    8315276   \n",
       "4       2376      0    0  d371762a36897554           12  4880913    8316591   \n",
       "\n",
       "    ShopID                                             NodeID  BrandID  \\\n",
       "0  8957009    9026108|9026375|9026561|9021991|9105545|9079797  9146921   \n",
       "1  8814562            9041189|9025525|9094410|9047968|9036532  9288662   \n",
       "2  8355499  9024009|9072713|9082074|9098713|9089235|906581...    <PAD>   \n",
       "3  8656754  9060918|9111108|9105928|9098403|9086972|906899...  9201202   \n",
       "4  8497873    9099999|9042493|9034247|9064308|9080207|9103372  9296445   \n",
       "\n",
       "  Com_CateID Com_ShopID Com_BrandID                  Com_NodeID      PID  \n",
       "0    9355233      <PAD>       <PAD>                       <PAD>  9351666  \n",
       "1      <PAD>      <PAD>       <PAD>                       <PAD>  9351666  \n",
       "2      <PAD>      <PAD>       <PAD>                       <PAD>  9351666  \n",
       "3    9353608    9588597     9893093  10081398|10074512|10086141  9351666  \n",
       "4    9354838      <PAD>       <PAD>                       <PAD>  9351666  "
      ]
     },
     "execution_count": 375,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_sample_table.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 376,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sample_id       int64\n",
      "click           int64\n",
      "buy             int64\n",
      "md5            object\n",
      "feature_num     int64\n",
      "ItemID         object\n",
      "CategoryID     object\n",
      "ShopID         object\n",
      "NodeID         object\n",
      "BrandID        object\n",
      "Com_CateID     object\n",
      "Com_ShopID     object\n",
      "Com_BrandID    object\n",
      "Com_NodeID     object\n",
      "PID            object\n",
      "dtype: object\n",
      "sample_id       int64\n",
      "click           int64\n",
      "buy             int64\n",
      "md5            object\n",
      "feature_num     int64\n",
      "ItemID         object\n",
      "CategoryID     object\n",
      "ShopID         object\n",
      "NodeID         object\n",
      "BrandID        object\n",
      "Com_CateID     object\n",
      "Com_ShopID     object\n",
      "Com_BrandID    object\n",
      "Com_NodeID     object\n",
      "PID            object\n",
      "dtype: object\n"
     ]
    }
   ],
   "source": [
    "# 打印Column和Types，确保Train和测试集可以一起序列化\n",
    "train_sample_table['ItemID'].head()\n",
    "#print(test_sample_table.head()['ItemID'])\n",
    "#print(train_common_features.head()['UserID'])\n",
    "print(test_sample_table.dtypes)\n",
    "print(train_sample_table.dtypes)\n",
    "#print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 377,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    358\n",
       "1    393\n",
       "2    463\n",
       "3    379\n",
       "4     15\n",
       "Name: feature_num, dtype: int64"
      ]
     },
     "execution_count": 377,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_common_features.columns\n",
    "train_common_features['feature_num'].head()\n",
    "#train_sample_table.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 378,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "410182\n",
      "5531\n",
      "192198\n",
      "665774\n",
      "79377\n",
      "62576\n",
      "31465\n",
      "209626\n",
      "3\n",
      "value train 7399\n",
      "value test 7420\n",
      "inner product 3643\n"
     ]
    }
   ],
   "source": [
    "# 打印Unique ID数\n",
    "value1 = set(train_common_features['UserID'].tolist())\n",
    "print(len(train_sample_table['ItemID'].unique()))\n",
    "print(len(train_sample_table['CategoryID'].unique()))\n",
    "print(len(train_sample_table['ShopID'].unique()))\n",
    "print(len(train_sample_table['NodeID'].unique()))\n",
    "print(len(train_sample_table['BrandID'].unique()))\n",
    "print(len(train_sample_table['Com_ShopID'].unique()))\n",
    "print(len(train_sample_table['Com_BrandID'].unique()))\n",
    "print(len(train_sample_table['Com_NodeID'].unique()))\n",
    "print(len(train_sample_table['PID'].unique()))\n",
    "\n",
    "\n",
    "#11176 640062 90 6111 258552 101090 4695 91412 43051 3\n",
    "\n",
    "value1 = set(train_sample_table['ShopID'].tolist())\n",
    "value2 = set(test_sample_table['ShopID'].tolist())\n",
    "\n",
    "value1 = set(train_common_features['UserID'].tolist())\n",
    "value2 = set(test_common_features['UserID'].tolist())\n",
    "print(\"value train\",len(value1))\n",
    "print(\"value test\",len(value2))\n",
    "print(\"inner product\",len(value1&value2))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 379,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\n",
    "def load_ESMM_Train_and_Test_Data():\n",
    "    \"\"\"\n",
    "    Load Dataset from File\n",
    "    \"\"\"\n",
    "    sample_feature_columns = ['sample_id', 'click', 'buy', 'md5', 'feature_num', 'ItemID','CategoryID','ShopID','NodeID','BrandID','Com_CateID',\n",
    "                     'Com_ShopID','Com_BrandID','Com_NodeID','PID']\n",
    "    \n",
    "    common_feature_columns = ['md5', 'feature_num', 'UserID', 'User_CateIDs', 'User_ShopIDs', 'User_BrandIDs', 'User_NodeIDs', 'User_Cluster', \n",
    "                     'User_ClusterID', 'User_Gender', 'User_Age', 'User_Level1', 'User_Level2', \n",
    "                     'User_Occupation', 'User_Geo']\n",
    "    \n",
    "    # 强制转化为其中部分列为object，是因为训练和测试某些列，Pandas load类型不一致，影响后面的序列化\n",
    "    train_sample_table = pd.read_table('./ctr_cvr_data/sampled_sample_skeleton_train_sample_feature_column.csv', sep=',',\\\n",
    "                                  dtype={'ItemID': object, 'CategoryID': object, 'ShopID': object, 'PID': object},\\\n",
    "                                  header=0, names=None, engine = 'python')\n",
    "    train_common_features = pd.read_table('./ctr_cvr_data/sampled_common_features_skeleton_train_sample_feature_column.csv', sep=',', header=0, names=None, engine = 'python')\n",
    "    \n",
    "    test_sample_table = pd.read_table('./ctr_cvr_data/sampled_sample_skeleton_test_sample_feature_column.csv', sep=',', \\\n",
    "                                  dtype={'ItemID': object, 'CategoryID': object, 'ShopID': object, 'PID': object},\\\n",
    "                                  header=0, names=None, engine = 'python')\n",
    "    test_common_features = pd.read_table('./ctr_cvr_data/sampled_common_features_skeleton_test_sample_feature_column.csv', sep=',', header=0, names=None, engine = 'python')\n",
    "    \n",
    "    #itemID转数字字典\n",
    "    ItemID_set = set()\n",
    "    for val in train_sample_table['ItemID'].str.split('|'):\n",
    "        ItemID_set.update(val)\n",
    "    for val in test_sample_table['ItemID'].str.split('|'):\n",
    "        ItemID_set.update(val)\n",
    "    ItemID_set.add('<PAD>')\n",
    "    ItemID2int = {val:ii for ii, val in enumerate(ItemID_set)}\n",
    "    #itemID 转成等长数字列表，示例，其实itemID是One Hot的，不需要此操作\n",
    "    ItemID_map = {val:[ItemID2int[row] for row in val.split('|')]  \\\n",
    "                  for ii,val in enumerate(set(train_sample_table['ItemID']))}\n",
    "    test_ItemID_map = {val:[ItemID2int[row] for row in val.split('|')]  \\\n",
    "                  for ii,val in enumerate(set(test_sample_table['ItemID']))}\n",
    "    # merge train & test\n",
    "    ItemID_map.update(test_ItemID_map)\n",
    "    ItemID_map_max_len = 1\n",
    "    print(\"ItemID_map max_len:\", ItemID_map_max_len)\n",
    "    for key in ItemID_map:\n",
    "        for cnt in range(ItemID_map_max_len - len(ItemID_map[key])):\n",
    "            ItemID_map[key].insert(len(ItemID_map[key]) + cnt,itemID2int['<PAD>'])\n",
    "    train_sample_table['ItemID'] = train_sample_table['ItemID'].map(ItemID_map)\n",
    "    test_sample_table['ItemID'] = test_sample_table['ItemID'].map(ItemID_map)\n",
    "    print(\"ItemID finish\")\n",
    "    \n",
    "    #userID 转数字字典\n",
    "    UserID_set = set()\n",
    "    for val in train_common_features['UserID']:\n",
    "        UserID_set.add(val)\n",
    "    for val in test_common_features['UserID']:\n",
    "        UserID_set.add(val)\n",
    "    UserID2int = {val:ii for ii, val in enumerate(UserID_set)}\n",
    "    UserID_map_max_len = 1\n",
    "    print(\"UserID_map max_len:\", UserID_map_max_len)\n",
    "    train_common_features['UserID'] = train_common_features['UserID'].map(UserID2int)\n",
    "    test_common_features['UserID'] = test_common_features['UserID'].map(UserID2int)\n",
    "    print(\"UserID finish\")\n",
    "    \n",
    "    #User_Cluster 转数字字典\n",
    "    User_Cluster_set = set()\n",
    "    for val in train_common_features['User_Cluster']:\n",
    "        User_Cluster_set.add(val)\n",
    "    for val in test_common_features['User_Cluster']:\n",
    "        User_Cluster_set.add(val)\n",
    "    User_Cluster2int = {val:ii for ii, val in enumerate(User_Cluster_set)}\n",
    "    User_Cluster_map_max_len = 1\n",
    "    print(\"User_Cluster_map max_len:\", User_Cluster_map_max_len)\n",
    "    train_common_features['User_Cluster'] = train_common_features['User_Cluster'].map(User_Cluster2int)\n",
    "    test_common_features['User_Cluster'] = test_common_features['User_Cluster'].map(User_Cluster2int)\n",
    "    print(\"User_Cluster finish\")\n",
    "    \n",
    "    #CategoryID 转数字字典\n",
    "    CategoryID_set = set()\n",
    "    for val in train_sample_table['CategoryID']:\n",
    "        CategoryID_set.add(val)\n",
    "    for val in test_sample_table['CategoryID']:\n",
    "        CategoryID_set.add(val)\n",
    "    CategoryID2int = {val:ii for ii, val in enumerate(CategoryID_set)}\n",
    "    CategoryID_map_max_len = 1\n",
    "    print(\"CategoryID_map max_len:\", CategoryID_map_max_len)\n",
    "    train_sample_table['CategoryID'] = train_sample_table['CategoryID'].map(CategoryID2int)\n",
    "    test_sample_table['CategoryID'] = test_sample_table['CategoryID'].map(CategoryID2int)\n",
    "    print(\"CategoryID finish\")\n",
    "    \n",
    "    #ShopID 转数字字典\n",
    "    ShopID_set = set()\n",
    "    for val in train_sample_table['ShopID']:\n",
    "        ShopID_set.add(val)\n",
    "    for val in test_sample_table['ShopID']:\n",
    "        ShopID_set.add(val)\n",
    "    ShopID2int = {val:ii for ii, val in enumerate(ShopID_set)}\n",
    "    ShopID_map_max_len = 1\n",
    "    print(\"ShopID_map max_len:\", ShopID_map_max_len)\n",
    "    train_sample_table['ShopID'] = train_sample_table['ShopID'].map(ShopID2int)\n",
    "    test_sample_table['ShopID'] = test_sample_table['ShopID'].map(ShopID2int)\n",
    "    print(\"ShopID finish\")\n",
    "\n",
    "    #BrandID 转数字字典\n",
    "    BrandID_set = set()\n",
    "    for val in train_sample_table['BrandID']:\n",
    "        BrandID_set.add(val)\n",
    "    for val in test_sample_table['BrandID']:\n",
    "        BrandID_set.add(val)\n",
    "    BrandID2int = {val:ii for ii, val in enumerate(BrandID_set)}\n",
    "    BrandID_map_max_len = 1\n",
    "    print(\"BrandID_map max_len:\", UserID_map_max_len)\n",
    "    train_sample_table['BrandID'] = train_sample_table['BrandID'].map(BrandID2int)\n",
    "    test_sample_table['BrandID'] = test_sample_table['BrandID'].map(BrandID2int)\n",
    "    print(\"BrandID finish\")\n",
    "    \n",
    "    #Com_CateID 转数字字典\n",
    "    Com_CateID_set = set()\n",
    "    for val in train_sample_table['Com_CateID']:\n",
    "        Com_CateID_set.add(val)\n",
    "    for val in test_sample_table['Com_CateID']:\n",
    "        Com_CateID_set.add(val)\n",
    "    Com_CateID2int = {val:ii for ii, val in enumerate(Com_CateID_set)}\n",
    "    Com_CateID_map_max_len = 1\n",
    "    print(\"Com_CateID_map max_len:\", Com_CateID_map_max_len)\n",
    "    train_sample_table['Com_CateID'] = train_sample_table['Com_CateID'].map(Com_CateID2int)\n",
    "    test_sample_table['Com_CateID'] = test_sample_table['Com_CateID'].map(Com_CateID2int)\n",
    "    print(\"Com_CateID finish\")\n",
    "    \n",
    "    #Com_ShopID 转数字字典\n",
    "    Com_ShopID_set = set()\n",
    "    for val in train_sample_table['Com_ShopID']:\n",
    "        Com_ShopID_set.add(val)\n",
    "    for val in test_sample_table['Com_ShopID']:\n",
    "        Com_ShopID_set.add(val)\n",
    "    Com_ShopID2int = {val:ii for ii, val in enumerate(Com_ShopID_set)}\n",
    "    Com_ShopID_map_max_len = 1\n",
    "    print(\"Com_ShopID_map max_len:\", Com_ShopID_map_max_len)\n",
    "    train_sample_table['Com_ShopID'] = train_sample_table['Com_ShopID'].map(Com_ShopID2int)\n",
    "    test_sample_table['Com_ShopID'] = test_sample_table['Com_ShopID'].map(Com_ShopID2int)\n",
    "    print(\"Com_ShopID finish\")\n",
    "    \n",
    "    #Com_BrandID 转数字字典\n",
    "    Com_BrandID_set = set()\n",
    "    for val in train_sample_table['Com_BrandID']:\n",
    "        Com_BrandID_set.add(val)\n",
    "    for val in test_sample_table['Com_BrandID']:\n",
    "        Com_BrandID_set.add(val)\n",
    "    Com_BrandID2int = {val:ii for ii, val in enumerate(Com_BrandID_set)}\n",
    "    Com_BrandID_map_max_len = 1\n",
    "    print(\"Com_BrandID_map max_len:\", UserID_map_max_len)\n",
    "    train_sample_table['Com_BrandID'] = train_sample_table['Com_BrandID'].map(Com_BrandID2int)\n",
    "    test_sample_table['Com_BrandID'] = test_sample_table['Com_BrandID'].map(Com_BrandID2int)\n",
    "    print(\"Com_BrandID finish\")\n",
    "    \n",
    "    #PID 转数字字典\n",
    "    PID_set = set()\n",
    "    for val in train_sample_table['PID']:\n",
    "        PID_set.add(val)\n",
    "    for val in test_sample_table['PID']:\n",
    "        PID_set.add(val)\n",
    "    PID2int = {val:ii for ii, val in enumerate(PID_set)}\n",
    "    PID_map_max_len = 1\n",
    "    print(\"PID_map max_len:\", PID_map_max_len)\n",
    "    train_sample_table['PID'] = train_sample_table['PID'].map(PID2int)\n",
    "    test_sample_table['PID'] = test_sample_table['PID'].map(PID2int)\n",
    "    print(\"PID finish\")\n",
    "    \n",
    "    \n",
    "    #按照md5合并两个表\n",
    "    train_data = pd.merge(train_sample_table, train_common_features, on='md5',how='inner')\n",
    "    test_data = pd.merge(test_sample_table, test_common_features, on='md5',how='inner')\n",
    "\n",
    "    print(\"Sample/Common Merged\")\n",
    "    #将数据分成X和y两张表\n",
    "    feature_fields = ['UserID','ItemID','User_Cluster','CategoryID','ShopID',\\\n",
    "                      'BrandID','Com_CateID','Com_ShopID','Com_BrandID','PID']\n",
    "    target_fields = ['click','buy']\n",
    "    train_features_pd, train_targets_pd = train_data[feature_fields], train_data[target_fields]\n",
    "    train_features = train_features_pd.values\n",
    "    train_targets_values = train_targets_pd.values\n",
    "    \n",
    "    test_features_pd, test_targets_pd = test_data[feature_fields], test_data[target_fields]\n",
    "    test_features = test_features_pd.values\n",
    "    test_targets_values = test_targets_pd.values\n",
    "    \n",
    "    return UserID_map_max_len, ItemID_map_max_len, User_Cluster_map_max_len, \\\n",
    "CategoryID_map_max_len, ShopID_map_max_len, BrandID_map_max_len, Com_CateID_map_max_len,\\\n",
    "Com_ShopID_map_max_len, Com_BrandID_map_max_len, PID_map_max_len, UserID2int, ItemID2int,\\\n",
    "User_Cluster2int, CategoryID2int, ShopID2int, BrandID2int, Com_CateID2int, \\\n",
    "Com_ShopID2int, Com_BrandID2int, PID2int, train_features, train_targets_values, train_data, \\\n",
    "test_features, test_targets_values, test_data\n",
    "          \n",
    "          "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 加载数据并保存到本地"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 380,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ItemID_map max_len: 1\n",
      "ItemID finish\n",
      "UserID_map max_len: 1\n",
      "UserID finish\n",
      "User_Cluster_map max_len: 1\n",
      "User_Cluster finish\n",
      "CategoryID_map max_len: 1\n",
      "CategoryID finish\n",
      "ShopID_map max_len: 1\n",
      "ShopID finish\n",
      "BrandID_map max_len: 1\n",
      "BrandID finish\n",
      "Com_CateID_map max_len: 1\n",
      "Com_CateID finish\n",
      "Com_ShopID_map max_len: 1\n",
      "Com_ShopID finish\n",
      "Com_BrandID_map max_len: 1\n",
      "Com_BrandID finish\n",
      "PID_map max_len: 1\n",
      "PID finish\n",
      "Sample/Common Merged\n",
      "0\n",
      "0\n"
     ]
    }
   ],
   "source": [
    "UserID_map_max_len, ItemID_map_max_len, User_Cluster_map_max_len, \\\n",
    "CategoryID_map_max_len, ShopID_map_max_len, BrandID_map_max_len, Com_CateID_map_max_len,\\\n",
    "Com_ShopID_map_max_len, Com_BrandID_map_max_len, PID_map_max_len, UserID2int, ItemID2int,\\\n",
    "User_Cluster2int, CategoryID2int, ShopID2int, BrandID2int, Com_CateID2int, \\\n",
    "Com_ShopID2int, Com_BrandID2int, PID2int, train_features, train_targets_values, train_data, \\\n",
    "test_features, test_targets_values, test_data = load_ESMM_Train_and_Test_Data()\n",
    "print(0)\n",
    "pickle.dump((UserID_map_max_len, ItemID_map_max_len, User_Cluster_map_max_len, \\\n",
    "CategoryID_map_max_len, ShopID_map_max_len, BrandID_map_max_len, Com_CateID_map_max_len,\\\n",
    "Com_ShopID_map_max_len, Com_BrandID_map_max_len, PID_map_max_len, UserID2int, ItemID2int,\\\n",
    "User_Cluster2int, CategoryID2int, ShopID2int, BrandID2int, Com_CateID2int, \\\n",
    "Com_ShopID2int, Com_BrandID2int, PID2int, train_features, train_targets_values, train_data, \\\n",
    "test_features, test_targets_values, test_data), open('./save/preprocess.p', 'wb'))\n",
    "print(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 381,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1043828, 2)\n",
      "(1057288, 2)\n"
     ]
    }
   ],
   "source": [
    "test_features[0:10,0:100]\n",
    "test_targets_values[0:10]\n",
    "print(train_targets_values.shape)\n",
    "print(test_targets_values.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 从本地读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 382,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n"
     ]
    }
   ],
   "source": [
    "UserID_map_max_len, ItemID_map_max_len, User_Cluster_map_max_len, \\\n",
    "CategoryID_map_max_len, ShopID_map_max_len, BrandID_map_max_len, Com_CateID_map_max_len,\\\n",
    "Com_ShopID_map_max_len, Com_BrandID_map_max_len, PID_map_max_len, UserID2int, ItemID2int,\\\n",
    "User_Cluster2int, CategoryID2int, ShopID2int, BrandID2int, Com_CateID2int, \\\n",
    "Com_ShopID2int, Com_BrandID2int, PID2int, train_features, train_targets_values, train_data, \\\n",
    "test_features, test_targets_values, test_data = pickle.load(open('./save/preprocess.p', mode='rb'))\n",
    "print(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型设计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型架构\n",
    "\n",
    "<img src=\"assets/esmm.png\"/>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Embedding Lookup 示例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 383,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0.09442917]]\n",
      "[0.09442917]\n",
      "[[0.73320102]\n",
      " [0.09442917]\n",
      " [0.45260185]\n",
      " [0.08104652]\n",
      " [0.45750444]\n",
      " [0.28551081]\n",
      " [0.13178993]\n",
      " [0.45964068]\n",
      " [0.16133977]\n",
      " [0.72238308]]\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf;\n",
    "import numpy as np;\n",
    " \n",
    "c = np.random.random([10,1])\n",
    "b = tf.nn.embedding_lookup(c, [1])\n",
    "a = tf.nn.embedding_lookup(c, 1)\n",
    "with tf.Session() as sess:\n",
    "    sess.run(tf.initialize_all_variables())\n",
    "    print(sess.run(b))\n",
    "    print(sess.run(a))\n",
    "    print(c)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Tensorflow slice 示例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 384,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3, 2)\n",
      "(3, 1)\n",
      "[[100 -99]\n",
      " [ 99 -98]\n",
      " [ 98 -97]]\n"
     ]
    }
   ],
   "source": [
    "t = tf.constant([[1,100],[2,99],[3,98]])\n",
    "t1 = tf.slice(t, [0,1], [-1, 1])  # [[[3, 3, 3]]]\n",
    "t2 =  1-t1\n",
    "t3 = tf.concat([t1,t2],axis=1)\n",
    "print(t.shape)\n",
    "print(t1.shape)\n",
    "with tf.Session() as sess:\n",
    "    sess.run(tf.initialize_all_variables())\n",
    "    #print(sess.run(t1))\n",
    "    #print(sess.run(t2))\n",
    "    print(sess.run(t3))\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 训练测试集Split 示例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 385,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0 1]\n",
      " [2 3]\n",
      " [4 5]\n",
      " [6 7]\n",
      " [8 9]]\n",
      "range(0, 5)\n",
      "[[2 3]\n",
      " [8 9]]\n",
      "[1, 4]\n"
     ]
    }
   ],
   "source": [
    "## 计算AUC\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "X, y = np.arange(10).reshape((5, 2)), range(5)\n",
    "#X\n",
    "#list(y)\n",
    "X_train, X_test, y_train, y_test = train_test_split(\n",
    "    X, y, test_size=0.33, random_state=42)\n",
    "# X_train\n",
    "# y_train\n",
    "print(X)\n",
    "print(y)\n",
    "print(X_test)\n",
    "print(y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### AUC计算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 386,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 整个Batch AUC计算，适合CTR、CTCVR\n",
    "def calc_auc(raw_arr):\n",
    "    \n",
    "    # sort by pred value, from small to big\n",
    "    arr = sorted(raw_arr, key=lambda d:d[2])\n",
    "\n",
    "    auc = 0.0\n",
    "    fp1, tp1, fp2, tp2 = 0.0, 0.0, 0.0, 0.0\n",
    "    for record in arr:\n",
    "        fp2 += record[0] # noclick\n",
    "        tp2 += record[1] # click\n",
    "        auc += (fp2 - fp1) * (tp2 + tp1)\n",
    "        fp1, tp1 = fp2, tp2\n",
    "\n",
    "    # if all nonclick or click, disgard\n",
    "    threshold = len(arr) - 1e-3\n",
    "    if tp2 > threshold or fp2 > threshold:\n",
    "        return -0.5\n",
    "\n",
    "    if tp2 * fp2 > 0.0:  # normal auc\n",
    "        return (1.0 - auc / (2.0 * tp2 * fp2))\n",
    "    else:\n",
    "        return None\n",
    "\n",
    "### AUC 带Filter计算（CVR AUC只需要计算Click=1的样本子集）\n",
    "def calc_auc_with_filter(raw_arr, filter_arr):\n",
    "    ## get filter array row indexes\n",
    "    filter_index = np.nonzero(filter_arr)[0].tolist()\n",
    "    input_arr = [raw_arr[index] for index in filter_index]\n",
    "    auc_val = calc_auc(input_arr)\n",
    "    return auc_val\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 构建神经网络"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 定义输入\n",
    "定义输入的占位符"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 387,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_inputs():\n",
    "    UserID = tf.placeholder(tf.int32, [None, 1], name=\"UserID\")\n",
    "    ItemID = tf.placeholder(tf.int32, [None, 1], name=\"ItemID\")\n",
    "    User_Cluster = tf.placeholder(tf.int32, [None, 1], name=\"User_Cluster\")\n",
    "    CategoryID = tf.placeholder(tf.int32, [None, 1], name=\"CategoryID\")\n",
    "    ShopID = tf.placeholder(tf.int32, [None, 1], name=\"ShopID\")\n",
    "    BrandID = tf.placeholder(tf.int32, [None, 1], name=\"BrandID\")\n",
    "    Com_CateID = tf.placeholder(tf.int32, [None, 1], name=\"Com_CateID\")\n",
    "    Com_ShopID = tf.placeholder(tf.int32, [None, 1], name=\"Com_ShopID\")\n",
    "    Com_BrandID = tf.placeholder(tf.int32, [None, 1], name=\"Com_BrandID\")\n",
    "    PID = tf.placeholder(tf.int32, [None, 1], name=\"PID\")\n",
    "    #User_CateIDs = tf.placeholder(tf.int32, [None, 18], name=\"User_CateIDs\")\n",
    "    targets = tf.placeholder(tf.float32, [None, 2], name=\"targets\")\n",
    "    LearningRate = tf.placeholder(tf.float32, name = \"LearningRate\")\n",
    "    return  UserID, ItemID, User_Cluster, CategoryID, ShopID,\\\n",
    "                      BrandID, Com_CateID, Com_ShopID, Com_BrandID, PID, targets, LearningRate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征MaxID计算\n",
    "方便Embedding初始化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#嵌入矩阵的维度\n",
    "embed_dim = 12\n",
    "#userID个数\n",
    "UserID_max = max(UserID2int.values()) + 1 \n",
    "#itemID个数\n",
    "ItemID_max = max(ItemID2int.values()) + 1 \n",
    "User_Cluster_max = max(User_Cluster2int.values()) + 1 \n",
    "CategoryID_max = max(CategoryID2int.values()) + 1 \n",
    "ShopID_max = max(ShopID2int.values()) + 1 \n",
    "BrandID_max = max(BrandID2int.values()) + 1 \n",
    "Com_CateID_max = max(Com_CateID2int.values()) + 1 \n",
    "Com_ShopID_max = max(Com_ShopID2int.values()) + 1 \n",
    "Com_BrandID_max = max(Com_BrandID2int.values()) + 1 \n",
    "PID_max = max(PID2int.values()) + 1 \n",
    "\n",
    "#变长特征pooling方式\n",
    "combiner = \"sum\"\n",
    "\n",
    "print(UserID_max, ItemID_max, User_Cluster_max, CategoryID_max, ShopID_max, BrandID_max, \\\n",
    "      Com_CateID_max, Com_ShopID_max, Com_BrandID_max, PID_max)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对所有输入做Embedding"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 457,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\n",
    "def define_embedding_layers(UserID, ItemID, User_Cluster, CategoryID, ShopID,\\\n",
    "            BrandID, Com_CateID, Com_ShopID, Com_BrandID, PID):\n",
    "\n",
    "    UserID_embed_matrix = tf.Variable(tf.random_normal([UserID_max, embed_dim], 0, 0.001))\n",
    "    UserID_embed_layer = tf.nn.embedding_lookup(UserID_embed_matrix, UserID)\n",
    "    if combiner == \"sum\":\n",
    "        UserID_embed_layer = tf.reduce_sum(UserID_embed_layer, axis=1, keep_dims=True)\n",
    "        \n",
    "    ItemID_embed_matrix = tf.Variable(tf.random_uniform([ItemID_max, embed_dim], 0, 0.001))\n",
    "    ItemID_embed_layer = tf.nn.embedding_lookup(ItemID_embed_matrix, ItemID)\n",
    "    if combiner == \"sum\":\n",
    "        ItemID_embed_layer = tf.reduce_sum(ItemID_embed_layer, axis=1, keep_dims=True)\n",
    "\n",
    "    User_Cluster_embed_matrix = tf.Variable(tf.random_uniform([User_Cluster_max, embed_dim], 0, 0.001))\n",
    "    User_Cluster_embed_layer = tf.nn.embedding_lookup(User_Cluster_embed_matrix, User_Cluster)\n",
    "    if combiner == \"sum\":\n",
    "        User_Cluster_embed_layer = tf.reduce_sum(User_Cluster_embed_layer, axis=1, keep_dims=True)\n",
    "        \n",
    "    CategoryID_embed_matrix = tf.Variable(tf.random_uniform([CategoryID_max, embed_dim], 0, 0.001))\n",
    "    CategoryID_embed_layer = tf.nn.embedding_lookup(CategoryID_embed_matrix, CategoryID)\n",
    "    if combiner == \"sum\":\n",
    "        CategoryID_embed_layer = tf.reduce_sum(CategoryID_embed_layer, axis=1, keep_dims=True)\n",
    "    \n",
    "    ShopID_embed_matrix = tf.Variable(tf.random_uniform([ShopID_max, embed_dim], 0, 0.001))\n",
    "    ShopID_embed_layer = tf.nn.embedding_lookup(ShopID_embed_matrix, ShopID)\n",
    "    if combiner == \"sum\":\n",
    "        ShopID_embed_layer = tf.reduce_sum(ShopID_embed_layer, axis=1, keep_dims=True)\n",
    "\n",
    "    BrandID_embed_matrix = tf.Variable(tf.random_uniform([BrandID_max, embed_dim], 0, 0.001))\n",
    "    BrandID_embed_layer = tf.nn.embedding_lookup(BrandID_embed_matrix, BrandID)\n",
    "    if combiner == \"sum\":\n",
    "        BrandID_embed_layer = tf.reduce_sum(BrandID_embed_layer, axis=1, keep_dims=True)\n",
    "\n",
    "    Com_CateID_embed_matrix = tf.Variable(tf.random_uniform([Com_CateID_max, embed_dim], 0, 0.001))\n",
    "    Com_CateID_embed_layer = tf.nn.embedding_lookup(Com_CateID_embed_matrix, Com_CateID)\n",
    "    if combiner == \"sum\":\n",
    "        Com_CateID_embed_layer = tf.reduce_sum(Com_CateID_embed_layer, axis=1, keep_dims=True)\n",
    "\n",
    "    Com_ShopID_embed_matrix = tf.Variable(tf.random_uniform([Com_ShopID_max, embed_dim], 0, 0.001))\n",
    "    Com_ShopID_embed_layer = tf.nn.embedding_lookup(Com_ShopID_embed_matrix, Com_ShopID)\n",
    "    if combiner == \"sum\":\n",
    "        Com_ShopID_embed_layer = tf.reduce_sum(Com_ShopID_embed_layer, axis=1, keep_dims=True)\n",
    "\n",
    "    Com_BrandID_embed_matrix = tf.Variable(tf.random_uniform([Com_BrandID_max, embed_dim], 0, 0.001))\n",
    "    Com_BrandID_embed_layer = tf.nn.embedding_lookup(Com_BrandID_embed_matrix, Com_BrandID)\n",
    "    if combiner == \"sum\":\n",
    "        Com_BrandID_embed_layer = tf.reduce_sum(Com_BrandID_embed_layer, axis=1, keep_dims=True)\n",
    "\n",
    "\n",
    "    PID_embed_matrix = tf.Variable(tf.random_uniform([PID_max, embed_dim], 0, 0.001))\n",
    "    PID_embed_layer = tf.nn.embedding_lookup(PID_embed_matrix, PID)\n",
    "    if combiner == \"sum\":\n",
    "        PID_embed_layer = tf.reduce_sum(PID_embed_layer, axis=1, keep_dims=True)\n",
    "    '''    \n",
    "    esmm_embedding_layer = tf.concat([UserID_embed_layer, ItemID_embed_layer, User_Cluster_embed_layer,\\\n",
    "                                     CategoryID_embed_layer, ShopID_embed_layer, BrandID_embed_layer,\\\n",
    "                                     Com_CateID_embed_layer, Com_ShopID_embed_layer, Com_BrandID_embed_layer,\\\n",
    "                                      PID_embed_layer,], 2)\n",
    "    esmm_embedding_layer = tf.reshape(esmm_embedding_layer, [-1, embed_dim * 10])\n",
    "    '''\n",
    "    '''\n",
    "    # 数据量较小，选择UID特征和其他一些低维度特征\n",
    "    esmm_embedding_layer = tf.concat([UserID_embed_layer,User_Cluster_embed_layer,\\\n",
    "                                     CategoryID_embed_layer,\\\n",
    "                                     Com_CateID_embed_layer,\\\n",
    "                                      PID_embed_layer,], 2)\n",
    "    esmm_embedding_layer = tf.reshape(esmm_embedding_layer, [-1, embed_dim * 5])\n",
    "    '''\n",
    "    # 数据量较小，选择User Cluster and 其他一些较低低维度特征\n",
    "    esmm_embedding_layer = tf.concat([UserID_embed_layer,\n",
    "                                      ItemID_embed_layer,\n",
    "                                      User_Cluster_embed_layer,\\\n",
    "                                     CategoryID_embed_layer,\\\n",
    "                                     Com_CateID_embed_layer,\n",
    "                                      PID_embed_layer,], 2)\n",
    "    esmm_embedding_layer = tf.reshape(esmm_embedding_layer, [-1, embed_dim * 6])\n",
    "    return esmm_embedding_layer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 390,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def define_ctr_layer(esmm_embedding_layer):\n",
    "    ctr_layer_1 = tf.layers.dense(esmm_embedding_layer, 200, activation=tf.nn.relu)\n",
    "    ctr_layer_2 = tf.layers.dense(ctr_layer_1, 80, activation=tf.nn.relu)\n",
    "    ctr_layer_3 = tf.layers.dense(ctr_layer_2, 2)\n",
    "    ctr_prob = tf.nn.softmax(ctr_layer_3) + 0.00000001\n",
    "    return ctr_prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 391,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def define_cvr_layer(esmm_embedding_layer):\n",
    "    cvr_layer_1 = tf.layers.dense(esmm_embedding_layer, 200, activation=tf.nn.relu)\n",
    "    cvr_layer_2 = tf.layers.dense(cvr_layer_1, 80, activation=tf.nn.relu)\n",
    "    cvr_layer_3 = tf.layers.dense(cvr_layer_2, 2)\n",
    "    cvr_prob = tf.nn.softmax(cvr_layer_3) + 0.00000001\n",
    "    return cvr_prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 472,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#  由于demo数据过小，购买过于稀疏，设计cvr和ctr倒数第二层以前完全共享\n",
    "def define_ctr_cvr_layer(esmm_embedding_layer):\n",
    "    layer_1 = tf.layers.dense(esmm_embedding_layer, 128 , activation=tf.nn.relu)\n",
    "    layer_2 = tf.layers.dense(layer_1, 16, activation=tf.nn.relu)\n",
    "    layer_3 = tf.layers.dense(layer_2, 2)\n",
    "    ctr_prob = tf.nn.softmax(layer_3) + 0.00000001\n",
    "    layer_4 = tf.layers.dense(layer_2, 2)\n",
    "    cvr_prob = tf.nn.softmax(layer_4) + 0.00000001\n",
    "    return ctr_prob, cvr_prob"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 构建计算图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 469,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "train_graph = tf.Graph()\n",
    "with train_graph.as_default():\n",
    "    #获取输入占位符\n",
    "    UserID, ItemID, User_Cluster, CategoryID, ShopID,\\\n",
    "            BrandID, Com_CateID, Com_ShopID, Com_BrandID, PID, targets, lr = get_inputs()\n",
    "\n",
    "    # Embedding Input Layer\n",
    "    esmm_embedding_layer = define_embedding_layers(UserID, ItemID, User_Cluster, CategoryID, ShopID,\\\n",
    "            BrandID, Com_CateID, Com_ShopID, Com_BrandID, PID)\n",
    "\n",
    "    # CTR Network\n",
    "    #ctr_prob = define_ctr_layer(esmm_embedding_layer)\n",
    "    \n",
    "    # CVR Network\n",
    "    #cvr_prob = define_cvr_layer(esmm_embedding_layer)\n",
    "    \n",
    "    # 由于demo数据过小，购买过于稀疏，设计cvr和ctr倒数第二层以前完全共享\n",
    "    ctr_prob, cvr_prob = define_ctr_cvr_layer(esmm_embedding_layer)\n",
    "    \n",
    "    with tf.name_scope(\"loss\"):\n",
    "        \n",
    "        ctr_prob_one = tf.slice(ctr_prob, [0,1], [-1, 1])\n",
    "        cvr_prob_one = tf.slice(cvr_prob, [0,1], [-1, 1]) \n",
    "        \n",
    "        ctcvr_prob_one = ctr_prob_one * cvr_prob_one\n",
    "        ctcvr_prob = tf.concat([1 - ctcvr_prob_one, ctcvr_prob_one], axis=1)\n",
    "        \n",
    "        ctr_label =  tf.slice(targets, [0,0], [-1, 1])\n",
    "        ctr_label = tf.concat([1 - ctr_label, ctr_label], axis=1)\n",
    "\n",
    "        cvr_label = tf.slice(targets, [0,1], [-1, 1])\n",
    "        ctcvr_label = tf.concat([1 - cvr_label, cvr_label], axis=1)\n",
    "        \n",
    "        # 单列，判断Click是否=1\n",
    "        ctr_clk = tf.slice(targets, [0,0], [-1, 1])\n",
    "        ctr_clk_dup = tf.concat([ctr_clk, ctr_clk], axis=1)\n",
    "        \n",
    "        # clicked subset CVR loss\n",
    "        cvr_loss = - tf.multiply(tf.log(cvr_prob) * ctcvr_label, ctr_clk_dup)\n",
    "        # batch CTR loss\n",
    "        ctr_loss = - tf.log(ctr_prob) * ctr_label\n",
    "        # batch CTCVR loss\n",
    "        ctcvr_loss = - tf.log(ctcvr_prob) * ctcvr_label\n",
    "        \n",
    "        loss = tf.reduce_mean(ctr_loss + ctcvr_loss + cvr_loss)\n",
    "        #loss = tf.reduce_mean(ctr_loss + ctcvr_loss)\n",
    "        #loss = tf.reduce_mean(ctr_loss + cvr_loss)\n",
    "        #loss = tf.reduce_mean(cvr_loss)\n",
    "        ctr_loss = tf.reduce_mean(ctr_loss)\n",
    "        cvr_loss = tf.reduce_mean(cvr_loss)\n",
    "        ctcvr_loss = tf.reduce_mean(ctcvr_loss)\n",
    "\n",
    "    # 优化损失 \n",
    "    #train_op = tf.train.AdamOptimizer(lr).minimize(loss)  #cost\n",
    "    global_step = tf.Variable(0, name=\"global_step\", trainable=False)\n",
    "    optimizer = tf.train.AdamOptimizer(lr)\n",
    "    gradients = optimizer.compute_gradients(loss)  #cost\n",
    "    train_op = optimizer.apply_gradients(gradients, global_step=global_step)\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 训练网络"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 取得batch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 393,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_batches(Xs, ys, batch_size):\n",
    "    for start in range(0, len(Xs), batch_size):\n",
    "        end = min(start + batch_size, len(Xs))\n",
    "        yield Xs[start:end], ys[start:end]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 超参"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 471,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Number of Epochs\n",
    "num_epochs = 1\n",
    "# Batch Size\n",
    "batch_size = 10000\n",
    "\n",
    "# Test Batch Size\n",
    "test_batch_size = 10000\n",
    "\n",
    "# Learning Rate\n",
    "learning_rate = 0.1\n",
    "# Show stats for every n number of batches\n",
    "show_every_n_batches = 10\n",
    "show_test_every_n_batches = 10\n",
    "\n",
    "save_dir = './save'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 训练开始"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 473,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Writing to /Users/maxiao/Documents/workspace4py/TSRNN/esmm_public/runs/1543975458\n",
      "\n",
      "train batch click num: 490  buy num: 4\n",
      "train batch click num: 536  buy num: 1\n",
      "train batch click num: 480  buy num: 1\n",
      "train batch click num: 498  buy num: 5\n",
      "train batch click num: 442  buy num: 2\n",
      "train batch click num: 455  buy num: 2\n",
      "train batch click num: 481  buy num: 3\n",
      "train batch click num: 501  buy num: 0\n",
      "train batch click num: 436  buy num: 2\n",
      "train batch click num: 466  buy num: 3\n",
      "train batch click num: 516  buy num: 7\n",
      "11 10 10\n",
      "2018-12-05T10:06:07.033334: Epoch 0 Batch 10/104  train_loss=0.113 train_ctr_loss=0.104 train_cvr_loss=0.004 train_ctcvr_loss=0.005 train_ctr_auc=0.534 train_cvr_auc=0.396 train_ctcvr_auc=0.407\n",
      "train batch click num: 470  buy num: 5\n",
      "train batch click num: 411  buy num: 2\n",
      "train batch click num: 446  buy num: 2\n",
      "train batch click num: 426  buy num: 4\n",
      "train batch click num: 497  buy num: 1\n",
      "train batch click num: 460  buy num: 4\n",
      "train batch click num: 470  buy num: 4\n",
      "train batch click num: 466  buy num: 5\n",
      "train batch click num: 427  buy num: 6\n",
      "train batch click num: 522  buy num: 1\n",
      "10 10 10\n",
      "2018-12-05T10:07:59.710944: Epoch 0 Batch 20/104  train_loss=0.104 train_ctr_loss=0.103 train_cvr_loss=0.000 train_ctcvr_loss=0.001 train_ctr_auc=0.519 train_cvr_auc=0.550 train_ctcvr_auc=0.551\n",
      "train batch click num: 496  buy num: 5\n",
      "train batch click num: 461  buy num: 3\n",
      "train batch click num: 449  buy num: 4\n",
      "train batch click num: 475  buy num: 5\n",
      "train batch click num: 454  buy num: 1\n",
      "train batch click num: 411  buy num: 2\n",
      "train batch click num: 548  buy num: 2\n",
      "train batch click num: 471  buy num: 1\n",
      "train batch click num: 419  buy num: 2\n",
      "train batch click num: 459  buy num: 2\n",
      "10 9 10\n",
      "2018-12-05T10:09:58.596633: Epoch 0 Batch 30/104  train_loss=0.094 train_ctr_loss=0.092 train_cvr_loss=0.001 train_ctcvr_loss=0.001 train_ctr_auc=0.552 train_cvr_auc=0.301 train_ctcvr_auc=0.362\n",
      "train batch click num: 494  buy num: 2\n",
      "train batch click num: 495  buy num: 1\n",
      "train batch click num: 405  buy num: 5\n",
      "train batch click num: 421  buy num: 1\n",
      "train batch click num: 500  buy num: 4\n",
      "train batch click num: 403  buy num: 3\n",
      "train batch click num: 414  buy num: 4\n",
      "train batch click num: 464  buy num: 1\n",
      "train batch click num: 492  buy num: 5\n",
      "train batch click num: 438  buy num: 2\n",
      "10 10 10\n",
      "2018-12-05T10:11:59.898225: Epoch 0 Batch 40/104  train_loss=0.094 train_ctr_loss=0.092 train_cvr_loss=0.001 train_ctcvr_loss=0.001 train_ctr_auc=0.547 train_cvr_auc=0.448 train_ctcvr_auc=0.494\n",
      "train batch click num: 378  buy num: 1\n",
      "train batch click num: 380  buy num: 1\n",
      "train batch click num: 389  buy num: 1\n",
      "train batch click num: 385  buy num: 3\n",
      "train batch click num: 384  buy num: 1\n",
      "train batch click num: 353  buy num: 1\n",
      "train batch click num: 394  buy num: 3\n",
      "train batch click num: 352  buy num: 1\n",
      "train batch click num: 343  buy num: 1\n",
      "train batch click num: 332  buy num: 0\n",
      "10 9 9\n",
      "2018-12-05T10:14:04.089259: Epoch 0 Batch 50/104  train_loss=0.074 train_ctr_loss=0.074 train_cvr_loss=0.000 train_ctcvr_loss=0.000 train_ctr_auc=0.572 train_cvr_auc=0.502 train_ctcvr_auc=0.609\n",
      "train batch click num: 323  buy num: 2\n",
      "train batch click num: 334  buy num: 1\n",
      "train batch click num: 379  buy num: 2\n",
      "train batch click num: 423  buy num: 0\n",
      "train batch click num: 379  buy num: 3\n",
      "train batch click num: 366  buy num: 2\n",
      "train batch click num: 344  buy num: 0\n",
      "train batch click num: 366  buy num: 1\n",
      "train batch click num: 393  buy num: 0\n",
      "train batch click num: 399  buy num: 1\n",
      "10 7 7\n",
      "2018-12-05T10:16:11.229515: Epoch 0 Batch 60/104  train_loss=0.083 train_ctr_loss=0.083 train_cvr_loss=0.000 train_ctcvr_loss=0.001 train_ctr_auc=0.615 train_cvr_auc=0.514 train_ctcvr_auc=0.607\n",
      "train batch click num: 362  buy num: 3\n",
      "train batch click num: 394  buy num: 1\n",
      "train batch click num: 353  buy num: 4\n",
      "train batch click num: 422  buy num: 2\n",
      "train batch click num: 321  buy num: 3\n",
      "train batch click num: 379  buy num: 1\n",
      "train batch click num: 452  buy num: 2\n",
      "train batch click num: 342  buy num: 2\n",
      "train batch click num: 394  buy num: 0\n",
      "train batch click num: 329  buy num: 0\n",
      "10 8 8\n",
      "2018-12-05T10:18:20.225265: Epoch 0 Batch 70/104  train_loss=0.071 train_ctr_loss=0.071 train_cvr_loss=0.000 train_ctcvr_loss=0.000 train_ctr_auc=0.612 train_cvr_auc=0.457 train_ctcvr_auc=0.555\n",
      "train batch click num: 378  buy num: 2\n",
      "train batch click num: 356  buy num: 2\n",
      "train batch click num: 317  buy num: 1\n",
      "train batch click num: 328  buy num: 1\n",
      "train batch click num: 353  buy num: 2\n",
      "train batch click num: 370  buy num: 1\n",
      "train batch click num: 327  buy num: 0\n",
      "train batch click num: 350  buy num: 1\n",
      "train batch click num: 322  buy num: 2\n",
      "train batch click num: 352  buy num: 1\n",
      "10 9 9\n",
      "2018-12-05T10:20:30.974116: Epoch 0 Batch 80/104  train_loss=0.076 train_ctr_loss=0.075 train_cvr_loss=0.000 train_ctcvr_loss=0.001 train_ctr_auc=0.636 train_cvr_auc=0.432 train_ctcvr_auc=0.581\n",
      "train batch click num: 353  buy num: 0\n",
      "train batch click num: 362  buy num: 0\n",
      "train batch click num: 375  buy num: 1\n",
      "train batch click num: 408  buy num: 0\n",
      "train batch click num: 367  buy num: 0\n",
      "train batch click num: 312  buy num: 0\n",
      "train batch click num: 369  buy num: 0\n",
      "train batch click num: 343  buy num: 0\n",
      "train batch click num: 307  buy num: 0\n",
      "train batch click num: 338  buy num: 2\n",
      "10 2 2\n",
      "2018-12-05T10:22:45.883601: Epoch 0 Batch 90/104  train_loss=0.073 train_ctr_loss=0.071 train_cvr_loss=0.001 train_ctcvr_loss=0.001 train_ctr_auc=0.648 train_cvr_auc=0.396 train_ctcvr_auc=0.630\n",
      "train batch click num: 302  buy num: 0\n",
      "train batch click num: 309  buy num: 0\n",
      "train batch click num: 276  buy num: 3\n",
      "train batch click num: 274  buy num: 0\n",
      "train batch click num: 339  buy num: 0\n",
      "train batch click num: 335  buy num: 0\n",
      "train batch click num: 314  buy num: 1\n",
      "train batch click num: 340  buy num: 1\n",
      "train batch click num: 384  buy num: 1\n",
      "train batch click num: 356  buy num: 1\n",
      "10 5 5\n",
      "2018-12-05T10:24:57.929338: Epoch 0 Batch 100/104  train_loss=0.076 train_ctr_loss=0.075 train_cvr_loss=0.000 train_ctcvr_loss=0.000 train_ctr_auc=0.642 train_cvr_auc=0.520 train_ctcvr_auc=0.655\n",
      "train batch click num: 366  buy num: 0\n",
      "train batch click num: 329  buy num: 1\n",
      "train batch click num: 294  buy num: 1\n",
      "test batch click num: 488  buy num: 3\n",
      "test batch click num: 465  buy num: 2\n",
      "test batch click num: 421  buy num: 2\n",
      "test batch click num: 487  buy num: 3\n",
      "test batch click num: 481  buy num: 4\n",
      "5 5 5\n",
      "2018-12-05T10:27:35.674153: Epoch 0 Batch 4/105  test_loss = 0.099 test_ctr_loss = 0.095 test_cvr_loss = 0.002 test_ctcvr_loss = 0.003  test_ctr_auc = 0.579 test_cvr_auc = 0.349 test_ctcvr_auc = 0.415\n",
      "test batch click num: 427  buy num: 4\n",
      "test batch click num: 431  buy num: 3\n",
      "test batch click num: 455  buy num: 1\n",
      "test batch click num: 533  buy num: 2\n",
      "4 4 4\n",
      "2018-12-05T10:29:13.156356: Epoch 0 Batch 8/105  test_loss = 0.106 test_ctr_loss = 0.104 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.581 test_cvr_auc = 0.638 test_ctcvr_auc = 0.717\n",
      "test batch click num: 467  buy num: 3\n",
      "test batch click num: 488  buy num: 4\n",
      "test batch click num: 466  buy num: 6\n",
      "test batch click num: 383  buy num: 2\n",
      "4 4 4\n",
      "2018-12-05T10:30:51.322862: Epoch 0 Batch 12/105  test_loss = 0.085 test_ctr_loss = 0.083 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.566 test_cvr_auc = 0.397 test_ctcvr_auc = 0.476\n",
      "test batch click num: 457  buy num: 2\n",
      "test batch click num: 491  buy num: 3\n",
      "test batch click num: 472  buy num: 2\n",
      "test batch click num: 463  buy num: 3\n",
      "4 4 4\n",
      "2018-12-05T10:32:29.798511: Epoch 0 Batch 16/105  test_loss = 0.097 test_ctr_loss = 0.094 test_cvr_loss = 0.001 test_ctcvr_loss = 0.002  test_ctr_auc = 0.581 test_cvr_auc = 0.359 test_ctcvr_auc = 0.439\n",
      "test batch click num: 488  buy num: 1\n",
      "test batch click num: 378  buy num: 2\n",
      "test batch click num: 477  buy num: 7\n",
      "test batch click num: 475  buy num: 2\n",
      "4 4 4\n",
      "2018-12-05T10:34:08.178385: Epoch 0 Batch 20/105  test_loss = 0.098 test_ctr_loss = 0.096 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.586 test_cvr_auc = 0.613 test_ctcvr_auc = 0.639\n",
      "test batch click num: 536  buy num: 3\n",
      "test batch click num: 439  buy num: 1\n",
      "test batch click num: 499  buy num: 3\n",
      "test batch click num: 577  buy num: 1\n",
      "4 4 4\n",
      "2018-12-05T10:35:44.800892: Epoch 0 Batch 24/105  test_loss = 0.113 test_ctr_loss = 0.112 test_cvr_loss = 0.000 test_ctcvr_loss = 0.001  test_ctr_auc = 0.607 test_cvr_auc = 0.466 test_ctcvr_auc = 0.576\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test batch click num: 474  buy num: 5\n",
      "test batch click num: 420  buy num: 1\n",
      "test batch click num: 457  buy num: 7\n",
      "test batch click num: 563  buy num: 3\n",
      "4 4 4\n",
      "2018-12-05T10:37:32.440872: Epoch 0 Batch 28/105  test_loss = 0.115 test_ctr_loss = 0.111 test_cvr_loss = 0.002 test_ctcvr_loss = 0.002  test_ctr_auc = 0.587 test_cvr_auc = 0.321 test_ctcvr_auc = 0.365\n",
      "test batch click num: 470  buy num: 5\n",
      "test batch click num: 481  buy num: 5\n",
      "test batch click num: 408  buy num: 5\n",
      "test batch click num: 485  buy num: 6\n",
      "4 4 4\n",
      "2018-12-05T10:39:16.115198: Epoch 0 Batch 32/105  test_loss = 0.101 test_ctr_loss = 0.096 test_cvr_loss = 0.002 test_ctcvr_loss = 0.003  test_ctr_auc = 0.603 test_cvr_auc = 0.432 test_ctcvr_auc = 0.541\n",
      "test batch click num: 405  buy num: 3\n",
      "test batch click num: 450  buy num: 2\n",
      "test batch click num: 479  buy num: 4\n",
      "test batch click num: 438  buy num: 1\n",
      "4 4 4\n",
      "2018-12-05T10:40:58.459846: Epoch 0 Batch 36/105  test_loss = 0.091 test_ctr_loss = 0.090 test_cvr_loss = 0.000 test_ctcvr_loss = 0.001  test_ctr_auc = 0.607 test_cvr_auc = 0.409 test_ctcvr_auc = 0.542\n",
      "test batch click num: 449  buy num: 4\n",
      "test batch click num: 492  buy num: 0\n",
      "test batch click num: 470  buy num: 1\n",
      "test batch click num: 341  buy num: 0\n",
      "4 2 2\n",
      "2018-12-05T10:42:42.507686: Epoch 0 Batch 40/105  test_loss = 0.075 test_ctr_loss = 0.075 test_cvr_loss = 0.000 test_ctcvr_loss = 0.000  test_ctr_auc = 0.572 test_cvr_auc = 0.680 test_ctcvr_auc = 0.754\n",
      "test batch click num: 357  buy num: 1\n",
      "test batch click num: 344  buy num: 2\n",
      "test batch click num: 391  buy num: 2\n",
      "test batch click num: 334  buy num: 1\n",
      "4 4 4\n",
      "2018-12-05T10:44:28.877646: Epoch 0 Batch 44/105  test_loss = 0.074 test_ctr_loss = 0.073 test_cvr_loss = 0.000 test_ctcvr_loss = 0.000  test_ctr_auc = 0.550 test_cvr_auc = 0.460 test_ctcvr_auc = 0.480\n",
      "test batch click num: 367  buy num: 1\n",
      "test batch click num: 363  buy num: 2\n",
      "test batch click num: 358  buy num: 3\n",
      "test batch click num: 362  buy num: 2\n",
      "4 4 4\n",
      "2018-12-05T10:46:15.674148: Epoch 0 Batch 48/105  test_loss = 0.080 test_ctr_loss = 0.078 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.581 test_cvr_auc = 0.375 test_ctcvr_auc = 0.460\n",
      "test batch click num: 333  buy num: 0\n",
      "test batch click num: 343  buy num: 0\n",
      "test batch click num: 389  buy num: 3\n",
      "test batch click num: 347  buy num: 2\n",
      "4 2 2\n",
      "2018-12-05T10:48:02.188566: Epoch 0 Batch 52/105  test_loss = 0.076 test_ctr_loss = 0.074 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.576 test_cvr_auc = 0.413 test_ctcvr_auc = 0.541\n",
      "test batch click num: 332  buy num: 2\n",
      "test batch click num: 351  buy num: 1\n",
      "test batch click num: 411  buy num: 2\n",
      "test batch click num: 342  buy num: 1\n",
      "4 4 4\n",
      "2018-12-05T10:49:45.569483: Epoch 0 Batch 56/105  test_loss = 0.073 test_ctr_loss = 0.072 test_cvr_loss = 0.000 test_ctcvr_loss = 0.001  test_ctr_auc = 0.607 test_cvr_auc = 0.440 test_ctcvr_auc = 0.580\n",
      "test batch click num: 391  buy num: 2\n",
      "test batch click num: 361  buy num: 2\n",
      "test batch click num: 417  buy num: 2\n",
      "test batch click num: 376  buy num: 0\n",
      "4 3 3\n",
      "2018-12-05T10:51:35.367568: Epoch 0 Batch 60/105  test_loss = 0.080 test_ctr_loss = 0.080 test_cvr_loss = 0.000 test_ctcvr_loss = 0.000  test_ctr_auc = 0.583 test_cvr_auc = 0.522 test_ctcvr_auc = 0.609\n",
      "test batch click num: 358  buy num: 2\n",
      "test batch click num: 335  buy num: 2\n",
      "test batch click num: 394  buy num: 4\n",
      "test batch click num: 357  buy num: 2\n",
      "4 4 4\n",
      "2018-12-05T10:53:23.577831: Epoch 0 Batch 64/105  test_loss = 0.079 test_ctr_loss = 0.077 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.601 test_cvr_auc = 0.359 test_ctcvr_auc = 0.478\n",
      "test batch click num: 379  buy num: 5\n",
      "test batch click num: 372  buy num: 0\n",
      "test batch click num: 395  buy num: 1\n",
      "test batch click num: 401  buy num: 1\n",
      "4 3 3\n",
      "2018-12-05T10:55:09.436141: Epoch 0 Batch 68/105  test_loss = 0.085 test_ctr_loss = 0.084 test_cvr_loss = 0.000 test_ctcvr_loss = 0.001  test_ctr_auc = 0.603 test_cvr_auc = 0.330 test_ctcvr_auc = 0.457\n",
      "test batch click num: 336  buy num: 3\n",
      "test batch click num: 328  buy num: 2\n",
      "test batch click num: 337  buy num: 1\n",
      "test batch click num: 359  buy num: 0\n",
      "4 3 3\n",
      "2018-12-05T10:56:58.010970: Epoch 0 Batch 72/105  test_loss = 0.077 test_ctr_loss = 0.077 test_cvr_loss = 0.000 test_ctcvr_loss = 0.000  test_ctr_auc = 0.574 test_cvr_auc = 0.332 test_ctcvr_auc = 0.399\n",
      "test batch click num: 337  buy num: 4\n",
      "test batch click num: 328  buy num: 1\n",
      "test batch click num: 311  buy num: 1\n",
      "test batch click num: 358  buy num: 0\n",
      "4 3 3\n",
      "2018-12-05T10:58:42.952990: Epoch 0 Batch 76/105  test_loss = 0.078 test_ctr_loss = 0.078 test_cvr_loss = 0.000 test_ctcvr_loss = 0.000  test_ctr_auc = 0.548 test_cvr_auc = 0.240 test_ctcvr_auc = 0.261\n",
      "test batch click num: 335  buy num: 2\n",
      "test batch click num: 327  buy num: 1\n",
      "test batch click num: 365  buy num: 1\n",
      "test batch click num: 317  buy num: 1\n",
      "4 4 4\n",
      "2018-12-05T11:00:33.295671: Epoch 0 Batch 80/105  test_loss = 0.071 test_ctr_loss = 0.070 test_cvr_loss = 0.000 test_ctcvr_loss = 0.001  test_ctr_auc = 0.600 test_cvr_auc = 0.322 test_ctcvr_auc = 0.416\n",
      "test batch click num: 358  buy num: 2\n",
      "test batch click num: 367  buy num: 2\n",
      "test batch click num: 419  buy num: 2\n",
      "test batch click num: 344  buy num: 1\n",
      "4 4 4\n",
      "2018-12-05T11:02:17.360083: Epoch 0 Batch 84/105  test_loss = 0.078 test_ctr_loss = 0.076 test_cvr_loss = 0.001 test_ctcvr_loss = 0.001  test_ctr_auc = 0.579 test_cvr_auc = 0.204 test_ctcvr_auc = 0.238\n",
      "test batch click num: 330  buy num: 0\n",
      "test batch click num: 384  buy num: 1\n",
      "test batch click num: 387  buy num: 4\n",
      "test batch click num: 365  buy num: 1\n",
      "4 3 3\n",
      "2018-12-05T11:03:57.525650: Epoch 0 Batch 88/105  test_loss = 0.078 test_ctr_loss = 0.077 test_cvr_loss = 0.000 test_ctcvr_loss = 0.000  test_ctr_auc = 0.603 test_cvr_auc = 0.489 test_ctcvr_auc = 0.582\n",
      "test batch click num: 419  buy num: 1\n",
      "test batch click num: 294  buy num: 1\n",
      "test batch click num: 325  buy num: 1\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-473-344d096572fe>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m    165\u001b[0m             \u001b[0mitem_id\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtest_batch_size\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    166\u001b[0m             \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_batch_size\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 167\u001b[0;31m                 \u001b[0muser_id\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtake\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    168\u001b[0m                 \u001b[0mitem_id\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtake\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    169\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ],
     "output_type": "error"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'retina'\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "import datetime\n",
    "\n",
    "losses = {'train':[], 'test':[]}\n",
    "\n",
    "ctr_auc_stat = {'train':[], 'test':[]}\n",
    "cvr_auc_stat = {'train':[], 'test':[]}\n",
    "ctcvr_auc_stat = {'train':[], 'test':[]}\n",
    "\n",
    "\n",
    "with tf.Session(graph=train_graph) as sess:\n",
    "    \n",
    "    #搜集数据给tensorBoard用\n",
    "    # Keep track of gradient values and sparsity\n",
    "    grad_summaries = []\n",
    "    for g, v in gradients:\n",
    "        if g is not None:\n",
    "            grad_hist_summary = tf.summary.histogram(\"{}/grad/hist\".format(v.name.replace(':', '_')), g)\n",
    "            sparsity_summary = tf.summary.scalar(\"{}/grad/sparsity\".format(v.name.replace(':', '_')), tf.nn.zero_fraction(g))\n",
    "            grad_summaries.append(grad_hist_summary)\n",
    "            grad_summaries.append(sparsity_summary)\n",
    "    grad_summaries_merged = tf.summary.merge(grad_summaries)\n",
    "        \n",
    "    # Output directory for models and summaries\n",
    "    timestamp = str(int(time.time()))\n",
    "    out_dir = os.path.abspath(os.path.join(os.path.curdir, \"runs\", timestamp))\n",
    "    print(\"Writing to {}\\n\".format(out_dir))\n",
    "     \n",
    "    # Summaries for loss and accuracy\n",
    "    loss_summary = tf.summary.scalar(\"loss\", loss)\n",
    "\n",
    "    # Train Summaries\n",
    "    train_summary_op = tf.summary.merge([loss_summary, grad_summaries_merged])\n",
    "    train_summary_dir = os.path.join(out_dir, \"summaries\", \"train\")\n",
    "    train_summary_writer = tf.summary.FileWriter(train_summary_dir, sess.graph)\n",
    "\n",
    "    # Inference summaries\n",
    "    inference_summary_op = tf.summary.merge([loss_summary])\n",
    "    inference_summary_dir = os.path.join(out_dir, \"summaries\", \"inference\")\n",
    "    inference_summary_writer = tf.summary.FileWriter(inference_summary_dir, sess.graph)\n",
    "\n",
    "    sess.run(tf.global_variables_initializer())\n",
    "    saver = tf.train.Saver()\n",
    "    \n",
    "    #将数据集分成训练集和测试集，随机种子固定，用训练集拆分出来训练和测试，当天随机切分\n",
    "    #train_X,test_X, train_y, test_y = train_test_split(features,  \n",
    "    #                                                    targets_values,  \n",
    "    #                                                   test_size = 0.2,  \n",
    "    #                                                   random_state = 0)  \n",
    "    \n",
    "    # 训练集和测试集用两天的数据，前一天训练，后一天测试\n",
    "    train_X, train_y = train_features, train_targets_values \n",
    "    test_X, test_y = test_features, test_targets_values \n",
    "        \n",
    "\n",
    "    for epoch_i in range(num_epochs):\n",
    "            \n",
    "        train_ctr_auc_arr = []\n",
    "        train_cvr_auc_arr = []\n",
    "        train_ctcvr_auc_arr = []\n",
    "        \n",
    "        test_ctr_auc_arr = []\n",
    "        test_cvr_auc_arr = []\n",
    "        test_ctcvr_auc_arr = []\n",
    "        \n",
    "        train_batches = get_batches(train_X, train_y, batch_size)\n",
    "        test_batches = get_batches(test_X, test_y, test_batch_size)\n",
    "    \n",
    "        \n",
    "        #训练的迭代，保存训练损失\n",
    "        for batch_i in range(len(train_X) // batch_size):\n",
    "            x, y = next(train_batches)\n",
    "\n",
    "            #categories = np.zeros([batch_size, 18])\n",
    "            #for i in range(batch_size):\n",
    "                #categories[i] = x.take(6,1)[i]\n",
    "            item_id = np.zeros([batch_size, 1])\n",
    "            for i in range(batch_size):\n",
    "                item_id[i] = x.take(1,1)[i]\n",
    "            feed = {\n",
    "                UserID : np.reshape(x.take(0,1), [batch_size, 1]),\n",
    "                ItemID: item_id,\n",
    "                User_Cluster : np.reshape(x.take(2,1), [batch_size, 1]),\n",
    "                CategoryID : np.reshape(x.take(3,1), [batch_size, 1]),\n",
    "                ShopID : np.reshape(x.take(4,1), [batch_size, 1]),\n",
    "                BrandID : np.reshape(x.take(5,1), [batch_size, 1]),\n",
    "                Com_CateID : np.reshape(x.take(6,1), [batch_size, 1]),\n",
    "                Com_ShopID : np.reshape(x.take(7,1), [batch_size, 1]),\n",
    "                Com_BrandID : np.reshape(x.take(8,1), [batch_size, 1]),\n",
    "                PID : np.reshape(x.take(9,1), [batch_size, 1]),\n",
    "                #movie_categories: categories,  #x.take(6,1)\n",
    "                targets: y,\n",
    "                #np.reshape(y, [batch_size, 2]),\n",
    "                lr: learning_rate}\n",
    "\n",
    "            step, train_loss, train_ctr_loss, train_cvr_loss, train_ctcvr_loss, \\\n",
    "                train_ctr_prob, train_cvr_prob, train_ctcvr_prob, \\\n",
    "                train_ctr_label, train_cvr_label, train_ctcvr_label, train_ctr_click,\\\n",
    "                summaries, _ = \\\n",
    "                sess.run([global_step, loss, ctr_loss, cvr_loss, ctcvr_loss, \\\n",
    "                                    ctr_prob, cvr_prob, ctcvr_prob,\n",
    "                                    ctr_label, ctcvr_label, ctcvr_label, ctr_clk, \\\n",
    "                                    train_summary_op, train_op], feed)  #cost\n",
    "            losses['train'].append(train_loss)\n",
    "            train_summary_writer.add_summary(summaries, step)  #\n",
    "            \n",
    "            \n",
    "            print(\"train batch click num:\", len(np.nonzero(y[:,0:1])[0]), \n",
    "                    \" buy num:\", len(np.nonzero(y[:,1:2])[0]))\n",
    "            \n",
    "            ctr_input_arr = np.concatenate((train_ctr_label, train_ctr_prob[:, 1:2]), axis=1)\n",
    "            train_ctr_auc = calc_auc(ctr_input_arr)\n",
    "            if train_ctr_auc > 0:\n",
    "                train_ctr_auc_arr.append(train_ctr_auc)\n",
    "\n",
    "            cvr_input_arr = np.concatenate((train_cvr_label, train_cvr_prob[:, 1:2]), axis=1)\n",
    "            train_cvr_auc = calc_auc_with_filter(cvr_input_arr, train_ctr_click)\n",
    "            if train_cvr_auc > 0:\n",
    "                train_cvr_auc_arr.append(train_cvr_auc)\n",
    "\n",
    "            ctcvr_input_arr = np.concatenate((train_ctcvr_label, train_ctcvr_prob[:, 1:2]), axis=1)\n",
    "            train_ctcvr_auc = calc_auc(ctcvr_input_arr)\n",
    "            if train_ctcvr_auc > 0:\n",
    "                train_ctcvr_auc_arr.append(train_ctcvr_auc)\n",
    "            \n",
    "            \n",
    "            # Show every <show_every_n_batches> batches\n",
    "            if batch_i > 0 and (epoch_i * (len(train_X) // batch_size) + batch_i) % show_every_n_batches == 0:\n",
    "                # 累积 show_every_n_batches 个batch的Train AUC\n",
    "                print (len(train_ctr_auc_arr),len(train_cvr_auc_arr) , len(train_ctcvr_auc_arr))\n",
    "                train_ctr_auc = train_ctr_auc if len(train_ctr_auc_arr) == 0  else sum(train_ctr_auc_arr) / float(len(train_ctr_auc_arr))\n",
    "                train_cvr_auc = train_cvr_auc if len(train_cvr_auc_arr) == 0  else sum(train_cvr_auc_arr) / float(len(train_cvr_auc_arr))\n",
    "                train_ctcvr_auc = train_ctcvr_auc if len(train_ctcvr_auc_arr) == 0  else sum(train_ctcvr_auc_arr) / float(len(train_ctcvr_auc_arr))\n",
    "                # 保存 AUC\n",
    "                ctr_auc_stat['train'].append(train_ctr_auc)\n",
    "                cvr_auc_stat['train'].append(train_cvr_auc)\n",
    "                ctcvr_auc_stat['train'].append(train_ctcvr_auc)\n",
    "                # 清空，并继续累积\n",
    "                train_ctr_auc_arr.clear()\n",
    "                train_cvr_auc_arr.clear()\n",
    "                train_ctcvr_auc_arr.clear()\n",
    "                \n",
    "                time_str = datetime.datetime.now().isoformat()\n",
    "                print('{}: Epoch {} Batch {}/{}  train_loss={:.3f} train_ctr_loss={:.3f} train_cvr_loss={:.3f} train_ctcvr_loss={:.3f} train_ctr_auc={:.3f} train_cvr_auc={:.3f} train_ctcvr_auc={:.3f}'.format(\n",
    "                    time_str,\n",
    "                    epoch_i, \n",
    "                    batch_i,\n",
    "                    (len(train_X) // batch_size),\n",
    "                    train_loss,\n",
    "                    train_ctr_loss,\n",
    "                    train_cvr_loss,\n",
    "                    train_ctcvr_loss,\n",
    "                    train_ctr_auc,\n",
    "                    train_cvr_auc,\n",
    "                    train_ctcvr_auc))\n",
    "                \n",
    "        #使用测试数据的迭代\n",
    "        for batch_i  in range(len(test_X) // test_batch_size):\n",
    "            x, y = next(test_batches)\n",
    "            \n",
    "            user_id = np.zeros([test_batch_size, 1])\n",
    "            item_id = np.zeros([test_batch_size, 1])\n",
    "            for i in range(test_batch_size):\n",
    "                user_id[i] = x.take(0,1)[i]\n",
    "                item_id[i] = x.take(1,1)[i]\n",
    "            \n",
    "            feed = {\n",
    "                UserID : np.reshape(x.take(0,1), [test_batch_size, 1]),\n",
    "                ItemID: item_id,\n",
    "                User_Cluster : np.reshape(x.take(2,1), [test_batch_size, 1]),\n",
    "                CategoryID : np.reshape(x.take(3,1), [test_batch_size, 1]),\n",
    "                ShopID : np.reshape(x.take(4,1), [test_batch_size, 1]),\n",
    "                BrandID : np.reshape(x.take(5,1), [test_batch_size, 1]),\n",
    "                Com_CateID : np.reshape(x.take(6,1), [test_batch_size, 1]),\n",
    "                Com_ShopID : np.reshape(x.take(7,1), [test_batch_size, 1]),\n",
    "                Com_BrandID : np.reshape(x.take(8,1), [test_batch_size, 1]),\n",
    "                PID : np.reshape(x.take(9,1), [test_batch_size, 1]),\n",
    "                targets: np.reshape(y, [test_batch_size, 2]),\n",
    "                lr: learning_rate}\n",
    "            \n",
    "            step, test_loss, test_ctr_loss, test_cvr_loss, test_ctcvr_loss, \\\n",
    "                test_ctr_prob, test_cvr_prob, test_ctcvr_prob, \\\n",
    "                test_ctr_label, test_cvr_label, test_ctcvr_label, test_ctr_click,\\\n",
    "                 summaries = sess.run([global_step, loss, ctr_loss, cvr_loss, ctcvr_loss, \\\n",
    "                                    ctr_prob, cvr_prob, ctcvr_prob,\n",
    "                                    ctr_label, ctcvr_label, ctcvr_label, ctr_clk, \\\n",
    "                                       inference_summary_op], feed)  #cost\n",
    "\n",
    "            #保存测试损失\n",
    "            losses['test'].append(test_loss)\n",
    "            inference_summary_writer.add_summary(summaries, step)  #\n",
    "            print(\"test batch click num:\", len(np.nonzero(y[:,0:1])[0]), \n",
    "                    \" buy num:\", len(np.nonzero(y[:,1:2])[0]))\n",
    "            \n",
    "            ctr_input_arr = np.concatenate((test_ctr_label, test_ctr_prob[:, 1:2]), axis=1)\n",
    "            test_ctr_auc = calc_auc(ctr_input_arr)\n",
    "            if test_ctr_auc > 0:\n",
    "                test_ctr_auc_arr.append(test_ctr_auc)\n",
    "\n",
    "            cvr_input_arr = np.concatenate((test_cvr_label, test_cvr_prob[:, 1:2]), axis=1)\n",
    "            test_cvr_auc = calc_auc_with_filter(cvr_input_arr, test_ctr_click)\n",
    "            if test_cvr_auc > 0:\n",
    "                test_cvr_auc_arr.append(test_cvr_auc)\n",
    " \n",
    "            ctcvr_input_arr = np.concatenate((test_ctcvr_label, test_ctcvr_prob[:, 1:2]), axis=1)\n",
    "            test_ctcvr_auc = calc_auc(ctcvr_input_arr)\n",
    "            if test_ctcvr_auc > 0:\n",
    "                test_ctcvr_auc_arr.append(test_ctcvr_auc)\n",
    "            \n",
    "            time_str = datetime.datetime.now().isoformat()\n",
    "            if batch_i > 0 and (epoch_i * (len(test_X) // test_batch_size) + batch_i) % show_test_every_n_batches == 0:\n",
    "                \n",
    "                # 累积 show_every_n_batches 个batch的Train AUC\n",
    "                print (len(test_ctr_auc_arr),len(test_cvr_auc_arr) , len(test_ctcvr_auc_arr))\n",
    "                test_ctr_auc = test_ctr_auc if len(test_ctr_auc_arr) == 0  else sum(test_ctr_auc_arr) / float(len(test_ctr_auc_arr))\n",
    "                test_cvr_auc = test_cvr_auc if len(test_cvr_auc_arr) == 0  else sum(test_cvr_auc_arr) / float(len(test_cvr_auc_arr))\n",
    "                test_ctcvr_auc = test_ctcvr_auc if len(test_ctcvr_auc_arr) == 0  else sum(test_ctcvr_auc_arr) / float(len(test_ctcvr_auc_arr))\n",
    "                # 保存 AUC\n",
    "                ctr_auc_stat['test'].append(test_ctr_auc)\n",
    "                cvr_auc_stat['test'].append(test_cvr_auc)\n",
    "                ctcvr_auc_stat['test'].append(test_ctcvr_auc)\n",
    "                # 清空，并继续累积\n",
    "                test_ctr_auc_arr.clear()\n",
    "                test_cvr_auc_arr.clear()\n",
    "                test_ctcvr_auc_arr.clear()\n",
    "                \n",
    "                print('{}: Epoch {} Batch {}/{}  test_loss = {:.3f} test_ctr_loss = {:.3f} test_cvr_loss = {:.3f} test_ctcvr_loss = {:.3f}  test_ctr_auc = {:.3f} test_cvr_auc = {:.3f} test_ctcvr_auc = {:.3f}'.format(\n",
    "                    time_str,\n",
    "                    epoch_i,\n",
    "                    batch_i,\n",
    "                    (len(test_X) // test_batch_size),\n",
    "                    test_loss,\n",
    "                    test_ctr_loss,\n",
    "                    test_cvr_loss,\n",
    "                    test_ctcvr_loss,\n",
    "                    test_ctr_auc,\n",
    "                    test_cvr_auc,\n",
    "                    test_ctcvr_auc))\n",
    "\n",
    "    # Save Model\n",
    "    saver.save(sess, save_dir)  #, global_step=epoch_i\n",
    "    print('Model Trained and Saved')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 在 TensorBoard 中查看可视化结果"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "tensorboard --logdir /PATH_TO_CODE/runs/1543772895/summaries/\n",
    "\n",
    "<img src=\"assets/esmm_tf_loss.png\"/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 辅助函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 396,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "import os\n",
    "import pickle\n",
    "\n",
    "def save_params(params):\n",
    "    \"\"\"\n",
    "    Save parameters to file\n",
    "    \"\"\"\n",
    "    pickle.dump(params, open('./save/params.p', 'wb'))\n",
    "\n",
    "\n",
    "def load_params():\n",
    "    \"\"\"\n",
    "    Load parameters from file\n",
    "    \"\"\"\n",
    "    return pickle.load(open('./save/params.p', mode='rb'))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 保存参数\n",
    "保存`save_dir` 在生成预测时使用。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 397,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "save_params((save_dir))\n",
    "\n",
    "load_dir = load_params()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示训练Loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 465,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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n9OAAQN011136eKLL9ajjz6qZcuWyefzuX42IyNDX/7yl7Vq1SqdcMIJuuuuuzR79mzV19f3eM2HC5X1XtC/MEcZRvJZqbaxTa0dncrJiq9/DAAApJ78/HwVFRVFfeyZZ57R1772NRUWFupzn/ucjjrqKBUUFMgYo9mzZ2vevHndGq8YrXqfleWPeJ2dnT26TvBazuvU1dVJkgYNGhT1+bHu747gaxx55JFRHw/ev2+f/7zMiooKLViwQD/5yU80a9Ysvfzyy6G13Hjjjbr99ttDlfQ//OEPGjt2rJ5++mndd999kqR+/frp0ksv1QMPPOC5iTmE9V6QmWFUUZgTqqrXcDASACDFJau1JFUc6EClO++8U0VFRVq6dKmOPvpo12Pr1q3TvHnzDvfyeqS4uFiStHPnzqiPx7q/O0pKSiRJ1dXVUR/fsWOH63mSdNRRR+npp5+Wz+fTihUr9Oabb+qRRx7RHXfcoczMTN1+++2S/MH8tttu02233abq6mq99957euaZZ/T3v/9dq1ev1kcffRT3ptzeQBtML3H1rdMKAwBAWuro6NDmzZt1yimndAnq7e3tng/qknTiiScqKytLixcvVktL1714c+fO7fFrjB8/XpL09ttvd3mstbVV8+bNkzEm6kFUGRkZOumkk/T9739fs2bNkqSYIxmPOOIIXXnllZo5c6YmT56slStXav369T1efyIR1nuJayIMm0wBAEhLWVlZGjJkiFauXOmaPOLz+fSjH/1ImzZtSuLq4lNUVKTLL79cu3bt0q9+9SvXYwsWLNALL7zQ49f493//dxUWFuqpp54K9aUH3X///dqxY0do/rokffzxx1EnuQSr/Pn5/o6GhoYG12bZoNbW1lDrTbRNqslEG0wv4RRTAAAgSd///vd166236qSTTtIVV1yhjIwMvfPOO6qsrNTnP/95vfrqq8le4kE98MADmjt3rn784x/r3Xff1amnnqpt27bp+eef1yWXXKIZM2YoI+PQa8Ll5eV67LHHNG3aNJ1++um68sorNWTIEM2fP19z5szR8OHD9cgjj4Se/9JLL+nee+/V1KlTNXr0aFVUVGjz5s2aOXOmMjMzdeutt0ry97hPmTJFY8eO1fjx4zV8+HA1NTXptdde07p163T11Vdr+PDhPf79JBJhvZdwiikAAJCk//qv/1JhYaEeeeQRPfnk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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 373.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(losses['train'], label='Training loss')\n",
    "plt.legend()\n",
    "_ = plt.ylim()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示测试Loss\n",
    "迭代次数再增加一些，后面出现严重过拟合的情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 437,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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8cUX4+677wYAXHXVVc1dXm+66SYtGvSlL30p8XnWajV87Wtfw8knn4yRkRGMjo7ijDPOwHe/+13r42+77Ta88pWvxOrVqzE4OIhVq1Zh7dq1+MIXvqA9buvWrbj88stxzDHHYHh4GEuWLMHxxx+Pyy67DJs2bUp8vp2CDj4hPU652nLwp+jgE0IISZknn3wS5557LrZs2YJzzjkHr3rVqzAxMYHrr78e5513Hr7//e/jkksuaT7+TW96E2644QacdNJJuPTSSzE4OIgtW7bg7rvvxu23346XvvSlOO200/B3f/d3+NznPoejjz5a+/kzzzwz0Xk6joM3vOENuO6663DEEUfgL/7iL1Cr1fDTn/4Ul112GdatW4d//ud/bj7+Jz/5Cd74xjdi2bJluOiii7By5Urs3r0bjz32GK6++mp84AMfAABMTEzg9NNPx9atW3HBBRfgda97HSqVCjZs2IAf//jHePOb34xDDz004avbGSjwCelxSlVGdAghhHSOSy65BNu3b8d1112Hiy66qHn7nj17sHbtWrzzne/EhRdeiMWLF2Pbtm244YYb8NKXvhR33nmntsmTlBJ79+4FAJx22ml43vOeh8997nM45phjrPGhuHznO9/BddddhzPPPBO33norhoaGAACf+tSncOaZZ+Jb3/oWXv3qVzd/B1fsr1u3DkcddZR2rN27dze/v+mmm7B582Z8+MMfxqc+9SntccViEdVq9/3bS4FPSI+jOfjl7vtLhhBCeoE1H7xpvk8hMs9+/lVz9lz33nsv1q9fj0svvVQT9wCwbNkyfOQjH8Gf//mf4/rrr8db3vKW5n2Dg4OeHVyFEFi2bFnHztWN4Xzxi19sinsAGB8fx2c+8xm87nWvw7e//W3t9xBCoFAoeI61fPlyz23qMV1sP9sNUOAT0uN02sHfdmAWw/kcFg3nUz82IYSQ7ubXv/41gHoG3+ayb9myBQDw+OOPAwBWrVqFc845B7fccgtOOeUUXHzxxTjrrLNw2mmndVwMP/jggygUCnjxi1/sue/cc89tPsblz/7sz3DzzTfjxBNPxJve9Cacc845WLt2LVatWqX97Mte9jKsWLECH/nIR3Dffffhla98JdauXYsXvvCFyGS6c5yVAp+QHqZac1BzWptbTZdqAY+Oz91P7sKl//IbDOQyuOV9Z+PQpcOpHp8QQkh3s2fPHgD1mMpNN/lf5Ziammp+f/311+Ozn/0sfvSjH+HDH/4wAGB4eBh/+qd/ii9+8YtYunRp6udZLBZRKpWwZs0az5UDABgbG8PIyAj279/fvO0tb3kLRkdHceWVV+Lqq6/GN77xDQDAGWecgc9//vM4++yzAdTd/Pvvvx8f//jHceONNzZfh4MPPhjvec978IEPfADZbDb136kdKPAJ6WHUikwg/SHbXzyyDY4EihUHtz2+A5euPSLV4xNCSLcwl7GXXmLRokUA6vn2t7/97ZF+ZnR0FJ/97Gfx2c9+Fhs2bMBdd92F73znO/jud7+LrVu34he/+EXq51koFDAwMIAdO3ZY75+cnMT09DRWr16t3X7xxRfj4osvxuTkJNatW4frr78eV199NS688EI8/PDDOPLIIwEARxxxBL73ve/BcRw88sgjuO2223DVVVfhQx/6ELLZbHMgt1vozusKhJBIqPl7IP2azInZ1vEmWMFJCCF9xxlnnAEAuOeeexL9/OGHH463vOUtuO2227B69WrcfPPNmJ2dBYCm612rpXP1+aSTTsLs7Czuv/9+z3133HEHAODkk0+2/uzY2Bhe9rKX4etf/zre9773YWZmBrfccovncZlMBi984Qvxvve9DzfeeCMA4Nprr03l/NOEAp+QHqZkCPzplIdsJ4qtXXInZisBjySEELIQOfvss3HyySfjBz/4Af7jP/7D+pgHHngA+/btAwBs27atmcdXcR30gYGBprAfGhrC0NAQNm7cmMq5ulcY/vZv/xalUkl7bjcqdNlllzVvv/POO62LC/cqwPBwPZb6u9/9TmvV8XtcN8GIDiE9jMfBTzmiox5vkg4+IYT0HUII/Od//ifOO+88XHLJJbjiiivwohe9CGNjY9i8eTMefPBBPPHEE3j44YexZMkSPP300zjrrLNw0kkn4YQTTsDq1auxf/9+3HDDDdi/fz/+/u//HgMDA83jn3feebjxxhvxhje8AS94wQuQy+Vw/vnnN68cxOEd73gHbrjhBtx444044YQTcNFFFzV78Ddt2oS3v/3teO1rX6s9fmpqCmeeeSbWrFmDTCaD3/zmN7jnnntwzDHH4PWvfz2A+kzBJz/5SaxduxZHH300li9fjg0bNuC6665DNpvF+9///vZf6JShwCekh1F3sQXSb9FRRf1kiQ4+IYT0I0ceeSQe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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 380.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(losses['test'], label='Test loss')\n",
    "plt.legend()\n",
    "_ = plt.ylim()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示训练CTR AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 474,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.5336212639439927, 0.5192912464408632, 0.5516538511977693, 0.5473727196177514, 0.5721289104058573, 0.6152976755056259, 0.6120512301965262, 0.636084877350635, 0.6475313215523296, 0.6418964318216192]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 380.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ctr_auc_stat['train'], label='Training AUC')\n",
    "plt.legend()\n",
    "_ = plt.ylim()\n",
    "print(ctr_auc_stat['train'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示测试 CTR AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 475,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.5787292727513036, 0.5806569523072491, 0.5655713689698955, 0.5805420590394015, 0.5856113952994391, 0.6072943796795722, 0.5869282296560815, 0.6034578345612436, 0.6066393309921916, 0.5715739952913858, 0.5504935377032207, 0.5808828359825262, 0.5760761312554562, 0.6065362986460718, 0.582768251712724, 0.6011512573063063, 0.6030775573710696, 0.5741180859989039, 0.5484585959907285, 0.5998902393361178, 0.5786428306447097, 0.6028662386564065]\n"
     ]
    },
    {
     "data": {
      "image/png": "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hOjDl7/85Snvu++++zA2Nobbb78dRUVFqo9t2rQpXQ9tUX74wx8CkF7A7NmzB3feeWdKBlnPnTuHa6+9FgcPHkRRURGuuOIKNDQ0IBwO4/jx4/jRj36E//qv/8JDDz2Em266SfP7Xwwq8AkxoeauMdXvj5wboQKfEEKyzFe+8pUp73vkkUcwNjaGO+64A/X19Wl/TIsVCATw4x//GOXl5Xj/+9+Phx56CM8//zx27dql6f2Mj49j165daG1txU033YT77rsPBQUFqs8ZGRnBvffei9HRUU3vWwvUokOICR3tTCzwx2b4TLIQhzpG8M3ftuJ4b/q2EhJCSDoNDAzgc5/7HFatWgWXy4Xi4mK8973vxb59+6Z87uTkJL71rW9h06ZNKCoqQl5eHhoaGnDttdfipZdeAgB873vfg9vtBgA8++yzqtagb33rW0k/rieeeAKDg4P42Mc+hltvvRUA8D//8z+L/wMnuOeee9Da2opdu3bhwQcfnFLcA0BxcTH+7d/+Dbfddpvm979YdIJPiAlNPcEfBec8I1m8ZhKORHHf70/iP/edAufAb4724oXPXkp/r2TefvDiafzqcCc+c/l5uGZDdaYfDiEqJ06cwLvf/W50dXXhsssuw9VXX43x8XE89dRTuPzyy/GTn/wEN9xwg/L5H/nIR/D000/j/PPPx+7du+F0OtHV1YWXXnoJL7zwAi655BJs374dd955J+655x6cd955qq/fsWNH0o9Nbs/ZvXs3NmzYgKamJuzduxf9/f1YsmSJJn9+zjn27NkDAPjSl74053O80+nU5H61RAU+ISbjD0Vwok99sjzoDaBnzI/qopwMPSrj6x6dxGd+9iYOdowo7zszOIGxyRCKch0ZfGTEaIYngvjmb1sR5cBXnjqGq9dX0YtEois33HADent7sXfvXnzgAx9Q3j80NISdO3fik5/8JK666ioUFRWhp6cHTz/9NC655BLs27dP9b3MOcfw8DAAYPv27VizZg3uuecerFy5ctr2obmcPHkS+/btw+bNm7FhwwYAwMc//nHceeedePjhh/FP//RPi/uDx7S2tmJwcBB5eXm48MILNbnNdKMCnxCTOd7rQTg6Nf/+yLlRKvAX6Pljffjcz9+aNo2oc2SSCnwyL20DXsj/RAe9AfSO+1FVSP82063+n5/N9ENIWvu9V6ftvvbv349D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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 251.0,
       "width": 380.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ctr_auc_stat['test'], label='Test AUC')\n",
    "plt.legend()\n",
    "_ = plt.ylim()\n",
    "print(ctr_auc_stat['test'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示训练CVR AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 468,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.5854994007151406, 0.40704482261628294, 0.5519363478886681, 0.3728018308991291, 0.37286257929280203, 0.5092684123657182, 0.5031602273184324, 0.35248337415733066, 0.41099774025433006, 0.5287725003344995, 0.5663316884227485, 0.41032315016676907, 0.32919930569126876, 0.5178711056037654, 0.37556868870530624, 0.4233515679274543, 0.005780346820809301, 0.46896551724137936, 0.28226587410935716, 0.6164513611349118]\n"
     ]
    },
    {
     "data": {
      "image/png": "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dVJ7udi3b5/uvPNOTZs2TVdddZUWLFig+++/X7t27cqpnaFs2LBB11xzjWpqavS73/0u7SciZqbTTz9dDzzwQKjnBoBSEizf2Bvfvx4Fq5ciVwTrCF08Htepp56qNWvW6Nhjj9XXv/51LVy4UJL04osv6vLLL1d1dbVWrlypiy++WMcdd5weeughHXXUUXryySdzOtcPf/hDffnLX9b8+fP1ta99TQcffLDuvPNOnXzyyerr68u6nXXr1uljH/uYzEznnnuuTjrpJP3+97/Xcccdp3feeSfp2C1btmj58uW66667tGjRIl144YU67LDDdOaZZ+qWW27Jqf8J9957r/bs2aMzzjhDFRUVOvPMM9XV1aVf/vKXebWXyS9+8QvF43GdccYZOuiggwY9tqqKOsAAkK9gRZgg0mCQK9JgELp9+/aptbVVr7zyyoDc9sWLF6upqUkTJ05M2v7mm29q2bJluuSSS/Tcc89lfa7HHntML730kubPny/JS+FYtWqVHnzwQT3yyCP65Cc/mVU7DzzwgO6991599rOf7d923XXX6dJLL9WNN97Yn98tSZdccom2bt2qq666St/97nf7t5933nk6+uijs+57UCLl5Oyzz5YkrV69Wt/5znf085//XBdddFFebaazbt06SdIJJ5wQWpsAgIGCtdaDmGCKXBGs52Hut/53obuQtU0/+JuCnPfqq68eEKhL0qRJk9IeP2/ePJ122mm67bbbtHv37ozHpfrGN77RH6hLXgrHOeecowcffFDr16/POlg/+eSTkwJ1STr33HN16aWXav369f3bWltbdf/992vatGn6xje+kXT8kUceqc997nO6++67szpnwoYNG/TUU09p8eLFOvzwwyVJjY2NOvHEE/XII4/oD3/4g4455pic2sxk27ZtkqTZs2eH0h4AIL3GNCPrtZVlGl9N6IXckAaDEfHRj340477HH39cp59+umbPnq3Kysr+8o+33XabJOm9997L+jxLly4dsG3OnDmSpPfff3/Avlzaqa+vV0NDQ1I7r7zyinp7e7VkyRJVVw8cHclnZD11VD3hrLPOkiT9/Oc/z7lNAEBhpUuDmTG+WmZWgN6gmPH2DqGrra1VfX192n133nmnvvjFL2rcuHE68cQT9cEPflB1dXUyMz366KN65plnciqvmG70vrzcu61zyVlP106irWA7LS0tkqTp06enPT7T9kwSeemVlZX6/Oc/n7Rv1apVmjBhgu677z799Kc/TUodisW899nxeDxj24l9iWMlaebMmdq8eXNOb4gAALkbV1WuhpoKtezbv2YFKTDIB8F6HgqVWlIsBhs1uOyyy1RfX68XX3xRBx54YNK+119/Xc8888xId29Yxo8fL0lqbm5Ouz/T9kzuu+8+7d69W5I0efLkjMfdcccduuCCC/p/bmho0I4dO7Rr1y5NmzYt7XMSCyYF34gcffTRWr9+vR577DH97d/+bU59BQDkZtaEmqRgncmlyAdpMBg1vb29euedd7Ro0aIBgXpPT0/kA3VJOvzww1VeXq7nn39enZ2dA/YnJnBmK5Hi8ulPf1pf+tKXBnydccYZScclfPjDH5akjNdsy5Yt2rx5sxoaGpJq4p9zzjmKxWK666679NZbbw3atygvIAUAxaBxQnJwTtlG5INgHaOmvLxcjY2NevXVV/tHfSUvXeOf//mf9fbbbxewd9mpr6/XqlWrtH37dl177bVJ+/74xz/q3nvvzbqtjRs36oknntDMmTN177336he/+MWArzvvvFOLFi3SK6+8khSYJ/LZ//Vf/3XAaH5fX58uueQSSV5VmWAazMKFC/XNb35THR0dOuWUU/TnP/85bd8efPBBrVq1KuvXAgAYKHWSKQsiIR+kwWBUXXTRRbr00kv1oQ99SKeffrpisZieeOIJbdq0SX/913+thx9+uNBdHNJ1112ndevW6Xvf+56efPJJfeQjH9GWLVt0zz336FOf+pR++9vfJgXImSQmlp511lkqKyvLeNw555yj888/XzfffLOWL18uSTr11FN13nnn6aabbtKCBQu0cuVKzZ49W3v27NEjjzyiN954Q0cccYS+//3vD2jvX/7lX9TX16drr71WixYt0jHHHKMjjjhCdXV1ampq0tq1a/XWW2+NyOqpAFBKUieZzmBkHXkIbWTdzGab2a1mttXMusxsk5ldb2YTh352UjuT/Odt8tvZ6rdLrbkx4OKLL9bPfvYzTZ48Wbfeeqt+9atfaf78+Vq/fr0OPfTQQncvKwcccICeffZZ/f3f/71eeOEF/eQnP9Grr76q22+/XStXrpS0P7c9k+7ubt1+++0yM33pS18a9NgzzjhDNTU1uueee/onuErSjTfeqPvvv1/Lly/XQw89pGuuuUZ3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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 373.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(cvr_auc_stat['train'], label='Training AUC')\n",
    "plt.legend()\n",
    "_ = plt.ylim()\n",
    "print(cvr_auc_stat['train'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示测试 CVR AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 441,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.5298171363348704, 0.5202779029484444, 0.41815525853977464, 0.2844956648046302, 0.4222334006149956]\n"
     ]
    },
    {
     "data": {
      "image/png": "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4q/vrQ2Vb7l0GMd3TQ9LjCJthRJ8ERERiQrfOvN4zsvqHipPzStgb+nhRp9fUl7JtHkF1Kx+c15Wd75+Wv9whykS9ZTgi4iISFQwMx6ckE1megoAW/eXcfPTRTR2vcq7/7mEjXsOAdCpXTIPXJONmYbmSPxRgi8iIiJRo0dGGjOuzg6VXyjayvxFG4953sJl23jy3xtC5V+PH0nPMC+aJdJWKMEXERGRqHLR8J58rdbQmjue/Yx1uw42ePzug4e5cX5RqHxp9nFckdO7VWMUiWZK8EVERCTq3HrZMAZ28x6OPXi4islz86msqv7Ccc45bn1mMTtLvIXru2ekcveVIyMaq0i0UYIvIiIiUad9ShJzrs0lyZ/e8pP1e/ndG6u/cNyzBZt5vmhLqPzA1dl08cfwi8QrJfgiIiISlbL7dmbyRVmh8m8WruST9XtC5a37yrj1mcWh8tdO68fYoT0iGqNINFKCLyIiIlHrR+cN4rQBmQBUVTsmz82npLwS5xw3PlXI/rJKAPpltuOWS4cHGapI1FCCLyIiIlErMcGYOTGHjNQkANbtKuWu5z7j/z5az9srdgBgBg9dk0MH/xiReKcEX0RERKJav8z23DV+RKic9/FG7npuSah83ZdO4PSBXYMITSQqKcEXERGRqDc+tw+X15r68rA/o87gHh2YOm5IUGGJRCUl+CIiIhL1zIy7x4+kd6cji1clJRizJ+WSlpwYYGQi0UcJvoiIiLQJndolM3tSLqlJXvoy7eIhjOzTKeCoRKKPnkYRERGRNuP0gV15dfJ57DtUwai+Su5F6qMEX0RERNqU/l3bBx2CSFTTEB0RERERkRiiBF9EREREJIYowRcRERERiSFK8EVEREREYogSfBERERGRGKIEX0REREQkhijBFxERERGJIUrwRURERERiiBJ8EREREZEYogRfRERERCSGKMEXEREREYkhSvBFRERERGKIEnwRERERkRiiBF9EREREJIYowRcRERERiSFK8EVEREREYog554KOIaqZ2a527dplDhs2LOhQRERERCSGLV26lEOHDu12znVtST1K8I/BzNYCHYHiAC4/1N8uC+DabZHaq2nUXk2j9moatVfTqL2aRu3VNGqvpgmyvQYA+51zJ7SkEiX4UczMFgE4504OOpa2QO3VNGqvplF7NY3aq2nUXk2j9moatVfTxEJ7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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 380.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(cvr_auc_stat['test'], label='Test AUC')\n",
    "plt.legend()\n",
    "_ = plt.ylim()\n",
    "print(cvr_auc_stat['test'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示训练CTCVR AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 442,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.49782244126531755, 0.5470526344663336, 0.4465553364788915, 0.5119544733263205, 0.49957646687618495, 0.4453482904892875, 0.6909869469177691, 0.4255111142927276, 0.7088311980123116, 0.5304292684600679, 0.5983802501722856, 0.5804317259343559, 0.6410437724799861, 0.6945722027558773, 0.6679174370288223, 0.6464969144289041, 0.7991598319663933, 0.409881976395279, 0.342537234937984, 0.47294458891778357]\n"
     ]
    },
    {
     "data": {
      "image/png": "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pnjxzZXTte3HNu9Ha3e/4TWGko0zWbIxHAzWiYiIiCgi155djEnZyQCAlq5+PFl2wPB8WUWD9m/mq4eHwToRERERRSTR48Z/XlSqbf96+0EcPtENADje3ouPDislG90ugaUzWLIxHAzWiYiIiChil8wrxPyiTABA34AfD2zaBwDYqivZuHhyFjKSvDHpn10xWCciIiKiiLlcAndfHFwo6a8fHsbHR1pRVsEqMJFgsE5EREREplgyNQcXzM4HAEgJ/HBDuaFkI/PVw8dgnYiIiIhMc9faUrjUYi9vH2jCiS6lMkxeeiLmFGbEsGf2xGCdiIiIiEwzPT8dn/vU5JMeZ8nG0WGwTkRERESmuvXCGUhJcBseYwrM6DBYJyIiIiJT5acn4frzp2rbLgGcO50lG0eDwToRERERme7fz5uKGflpAIDPLizCuJSEGPfInjyx7gAREREROU9qogcv3HAOKhs6MJsTS0eNwToRERERRUV6khcLJ2fFuhu2xjQYIiIiIiKLYrBORERERGRRDNaJiIiIiCyKwToRERERkUUxWCciIiIisigG60REREREFsVgnYiIiIjIohisExERERFZFIN1IiIiIiKLYrBORERERGRRDNaJiIiIiCyKwToRERERkUUxWCciIiIisigG60REREREFsVgnYiIiIjIohisExERERFZlJBSxroPY0YI0ZScnJw9e/bsWHeFiIiIiBysvLwc3d3dzVLKnEjaibdg/SCADADVMdh9qXq/Nwb7dgKev8jw/EWG5y8yPH+R4fmLDM9fZHj+Rq8EQJuUckokjcRVsB5LQogdACClXBzrvtgRz19keP4iw/MXGZ6/yPD8RYbnLzI8f7HHnHUiIiIiIotisE5EREREZFEM1omIiIiILIrBOhERERGRRTFYJyIiIiKyKFaDISIiIiKyKI6sExERERFZFIN1IiIiIiKLYrBORERERGRRDNaJiIiIiCyKwToRERERkUUxWCciIiIisigG60REREREFsVgfZSEEEVCiF8LIY4IIXqFENVCiIeFEFlhtpOtvq9abeeI2m5RtPoeS0KIHCHEV4UQfxVCVAohuoUQrUKIfwghviKECPmaVM+ZHOZ2LJrHEUtmHrdZ17GdCCGuO8X5C9x8Ibbl2GtQCHGFEOIxIcQ2IUSbeky/H+E95wghNgohmtWf7d1CiFuEEO5R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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 373.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ctcvr_auc_stat['train'], label='Training AUC')\n",
    "plt.legend()\n",
    "_ = plt.ylim()\n",
    "print(ctcvr_auc_stat['train'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 显示测试 CTCVR AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 443,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.577516431847004, 0.5971052697506173, 0.47606255791128055, 0.3478690575897916, 0.4734875508419774]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250.0,
       "width": 380.0
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ctcvr_auc_stat['test'], label='Test AUC')\n",
    "plt.legend()\n",
    "_ = plt.ylim()\n",
    "print(ctcvr_auc_stat['test'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 总结\n",
    "\n",
    "ESMM模型利用用户行为序列数据在完整样本空间建模，避免了传统CVR模型经常遭遇的样本选择偏差和训练数据稀疏的问题，取得了显著的效果。另一方面，ESMM模型首次提出了利用学习CTR和CTCVR的辅助任务迂回学习CVR的思路。ESMM模型中的BASE子网络可以替换为任意的学习模型，因此ESMM的框架可以非常容易地和其他学习模型集成，从而吸收其他学习模型的优势，进一步提升学习效果，想象空间巨大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 引用\n",
    "[1] Xiao Ma, Liqin Zhao, Guan Huang, Zhi Wang, Zelin Hu, Xiaoqiang Zhu, and Kun Gai. 2018. Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate. SIGIR (2018)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "今天的分享就到这里，请多指教！"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
